Post on 25-Apr-2015
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.
i
T A B L A D E C O N T E N I D O 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
ii
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
iii
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
iv
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
v
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
vi
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
vii
I.11 Respuesta de la Práctica 4 196 I.12 Respuesta de la Práctica 5 196
viii
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
ix
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
x
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
xi
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
xii
SIMBOLOGÍA
l1 Longitud del primer eslabón. l2 Longitud del segundo eslabón. l3 Longitud del gripper. T1 Ángulo de la cintura. T2 Ángulo del hombro. T3 Ángulo del codo. T4 Ángulo de pitch. T5 Ángulo de roll. X0,Y0, Z0 Ejes cartesianos
Tnn1� Matriz de transformación homogénea resultante
n-1An 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 E Ángulo auxiliar D Ángulo auxiliar Z Ángulo auxiliar W 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
� �qM Matriz de inercia � �qqV �, Vector de las fuerzas Centrifugas qFV � Vector de las fuerzas de fricción � �qG Vector de las fuerzas gravitacionales
iv Es un coeficiente constante conocido de fricción
VF Matriz diagonal con términos iv vec Denota vector
iv Es un coeficiente constante conocido
iq T�� Velocidad angular
xiii
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
xiv
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.
xv
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.
xvi
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
Capítulo 1 Introducción
1
Capítulo 1
INTRODUCCIÓN
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.
T
“Caracterización de un robot manipulador articulado”
2
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”
Capítulo 1 Introducción
3
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].
“Caracterización de un robot manipulador articulado”
4
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.
Capítulo 1 Introducción
5
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
“Caracterización de un robot manipulador articulado”
6
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
x 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.
Capítulo 1 Introducción
7
x 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.
x 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:
x 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.
x Parámetros: o Se obtuvieron los parámetros del robot sin necesidad de desmontar las
piezas que lo conforman.
x Simulación: o Se programaron los modelos del robot para simulación, empleando software
ya existente en el Cenidet.
x 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.
x 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.
“Caracterización de un robot manipulador articulado”
8
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].
Capítulo 1 Introducción
9
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].
“Caracterización de un robot manipulador articulado”
10
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].
Capítulo 1 Introducción
11
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].
“Caracterización de un robot manipulador articulado”
12
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
Planta
Lateral
Capítulo 1 Introducción
13
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
“Caracterización de un robot manipulador articulado”
14
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].
Capítulo 1 Introducción
15
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].
05
1015202530354045
Soldadura Aplic. Mater. Mecanizado Montaje Paletizado Manipulación Otras
Media países
Fuentes: AER, IFR
%
Áreas de aplicación de los robots instalados en 1997
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
“Caracterización de un robot manipulador articulado”
16
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.
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.
Robot de almacenes Robot de
supervisión
Banda transportadora
Capítulo 1 Introducción
17
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.
“Caracterización de un robot manipulador articulado”
18
Capítulo 2
MODELADO MATEMÁTICO
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]
A
Capítulo 2 Modelado matemático
19
Tabla 2-1 Relación entre varios tipos de modelado.
MODELOS
PARA SIMULACIÓN
MODELOS DINÁMICOS
Modelos para investigación empírica de propiedades
Modelos para el,
análisis de control y diseño
MODELOS INTUITIVOS
Modelos de Simulación por Computadora
Modelos de Análisis
Dinámico
SISTEMA ACTUAL
Guía de los tipos de modelos para simulación y dinámico
Obtenidos por análisis físico
Guías de la forma del
modelo Intuitivo
Modelos de
Simulación a Escala
Modelos de Identificación
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.
Figura 2-1 Relación entre las cinemáticas directa e inversa.
Cinemática inversa
Valor de las coordenadas
articulares (q1, q2, , qn)
Posición y orientación del
extremo del robot(x, y, z, D�, E�, J�)
Cinemática directa
“Caracterización de un robot manipulador articulado”
20
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. T1 Ángulo de la cintura. T2 Ángulo del hombro. T3 Ángulo del codo. T4 Ángulo de elevación. T5 Á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.
(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.
Codo
l1
d1
Hombro
Base
l2
T1
z0
T2
z1
T3
z2
Brazo Antebrazo
+ Giro
Punto de origen para el análisis
Punto de origen
+ Elevación
Capítulo 2 Modelado matemático
21
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 Ti di ai-1 Di-1 1 T1 d1 0 0 2 T2 d2 0 -90 3 T3 0 l1 0 4 T4 0 l2 0 5 T5 0 l3 90
De acuerdo a la tabla 2-2, las matrices homogéneas ii A1� (la definición de esta
matriz se puede apreciar en el apéndice B) para el Scorbot-ER V plus quedarían como:
»»»»
¼
º
««««
¬
ª �
1000100
0000
1
11
11
01 d
CSSC
ATTTT
2-1
»»»»
¼
º
««««
¬
ª
��
�
10000
010000
222
22
12 dCS
SC
ATT
TT
2-2
»»»»
¼
º
««««
¬
ª �
1000010000
0
33
133
23
TTTT
CSlSC
A 2-3
“Caracterización de un robot manipulador articulado”
22
»»»»
¼
º
««««
¬
ª �
1000010000
0
44
244
34
TTTT
CSlSC
A 2-4
»»»»
¼
º
««««
¬
ª�
�
1000000100
0
55
355
45 TT
TT
CS
lSC
A 2-5
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= 0A11A2
2A33A4
4A5
»»»»
¼
º
««««
¬
ª
1000333231
232221
131211
z
y
x
PrrrPrrrPrrr
T 2-6
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
Capítulo 2 Modelado matemático
23
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.
»»»
¼
º
«««
¬
ª
333231
232221
13121105
rrrrrrrrr
R 2-8
Donde la ecuación 2-8 representa los vectores de orientación dados por n, s y a:
»»»
¼
º
«««
¬
ª
zzz
yyy
xxx
asnasnasn
R05 2-9
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]
“Caracterización de un robot manipulador articulado”
24
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 T1,T2, T3 para cada articulación sin considerar la parte de orientación (T4, T5). 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):
Base del robot
n
a
s
TCP
Capítulo 2 Modelado matemático
25
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 T1 para el giro en la cintura
¸̧¹
·¨̈©
§ T �
3
311 tan
xy 2-10
� Cálculo de �T2 para el giro en el hombro �
1
3
cosT
xrxy 2-11�
�23
2 zrr xyxyz � � 2-12�
�
¸¸¹
·¨¨©
§ E �
xyrz31tan 2-13�
T3
l1
T2
Eje Z
x3
y3
T1rxy
l2
Eje X
Eje Y
“Caracterización de un robot manipulador articulado”
26
Por ley de cosenos
� �»»¼
º
««¬
ª � D �
xyz
xyz
rllrl
1
22
2211
2cos 2-14
�T2 = E - D 2-15 �� Cálculo de �T3 para el giro en el codo �l1y = l1 sen T2 2-16 z2 = l1y 2-17 l1x = l1 cos�T2 2-18 xy2 = l1x 2-19 l2xy = rxy-l1x 2-20 l2z = z3 - z2 2-21
¸̧¹
·¨̈©
§
z
xy
ll
2
2tanZ 2-22
¸̧¹
·¨̈©
§ �
z
xy
ll
2
21tanZ 2-23
�T3 = Z - T2 2-24
Figura. 2-5 Proyección en un plano para la configuración codo abajo.
l1xy
rxy
Z3
ED
Z
Eje Z
Eje XY
l2xy
l1
l2
l1z
l2z
T2
T2
T3rxyz
Capítulo 2 Modelado matemático
27
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 T1 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 �T2 para el giro en el hombro T2 = E���D� 2-25�
Para el cálculo de E�y�D�se retoma de la ecuación 2-11 a la 2-14 para su determinación. Cálculo de �T3 para el giro en el codo T3 = T2 - Z� 2-26
Para el cálculo de Z��se retoma de la ecuación 2-16 a la 2-23 para su determinación.
Figura. 2-6 Proyección en un plano para la configuración codo arriba.
l1xy
rxy
Z3
E
D
Z
Eje Z
Eje XY
l2xy
l1
l2
l1z
l2z
T2
T3
rxyz
“Caracterización de un robot manipulador articulado”
28
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.
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
Dinámica directa
Evolución de las coordenadas articulares y
sus derivadas (qi, qi, qi)
Fuerzas y pares que intervienen en
el movimiento (Fi, Wi��)
Dinámica inversa
. ..
Capítulo 2 Modelado matemático
29
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
m2T3
a
T2
Eje Z
T1
b
Eje X
Eje Y
m1
W
mb
g
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].
“Caracterización de un robot manipulador articulado”
30
2.2.2.1 Análisis de la articulación en la base Kb = Energía cinética de la base
212
1 T�bb IK 2-27
2lmI bb 2-28
2
12
21 T�lmK bb 2-29
Pb = Energía potencial de la base
La energía potencial es cero debido a que un posible cambio en el ángulo T1 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
Eje XY
a
b
T2
m2
T3
m1
Wg
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
21
2
2122
2
11 cos22
122
1 TTT �� ¸¹·
¨©§�¸
¹·
¨©§
amamK 2-30
Capítulo 2 Modelado matemático
31
2
122
2
122
2
11 cos42
142
1 TTT �� amamK � 2-31
Aplicando la identidad cos2 T = »¼º
«¬ª � T2cos
21
21 a la ecuación 2-31 se obtiene:
2
122
122
211 2cos
21
21
81
81 TTT ��
»¼º
«¬ª �� amamK 2-32
2
122
12
12
122
211 2cos
161
161
81 TTTT ��� amamamK �� 2-33
P1 = Energía potencial del eslabón 1
211 2TsenagmP 2-34
2.2.2.3 Análisis de la articulación en el segundo eslabón K2 = Energía cinética del eslabón 2
212
2222 2
121 T�IVmK � 2-35
22
22
22 yxV �� � 2-36
� �3222 cos21cos TTT �� bax 2-37
� �� �3232222 21 TTTTTT ���� ���� bsenasenx 2-38
� �� �
� �� �2323222
3222322
222
2222
41 TTTT
TTTTTTTT
��
�����
���
���
senb
senabsensenax 2-39
� �3222 21 TTT �� bsenaseny 2-40
“Caracterización de un robot manipulador articulado”
32
� �� �3232222 cos21cos TTTTTT ���� ��� bay 2-41
� �� �
� �� �2323222
3222322
222
2222
cos41
coscoscos
TTTT
TTTTTTTT
��
�����
���
���
b
abay 2-42
Sustituyendo 2-39 y 2-42 en 2-36:
� �� �� �� �
� �� �� �� �23232
22
3222322
222
2223232
22
3222322
222
2222
cos41
coscos
cos41
TTTT
TTTTTT
TTTTTT
TTTTTTTT
��
���
���
����
���
���
����
���
b
ab
asenb
senabsensenaV
2-43
Aplicando identidades trigonométricas (ver apéndice E) a la suma de las ecuaciones
2-39 y 2-42 se obtiene:
� � � �2322
33222
22
222
22 4
1cos TTTTTTT �������� ���� � babayx 2-44
2222 xmI 2-45
� �2
32222 cos
21cos »¼
º«¬ª �� TTT bax 2-46
� � � �3222
3222222
2 cos41coscoscos TTTTTT ���� babax 2-47
� � � �
� � � �»¼º
«¬ª �����
»¼º
«¬ª ����
3222
3222222
12
232
2332
22
22
222
cos41coscoscos
21
41cos
21
TTTTTTT
TTTTTTT
babam
babamK
�
������
2-48
� � � �
� �
� � 2132
22
21
22
213222
212
22
21
22
232
22332
222
22
222
2cos161
161
coscos212cos
41
41
81cos
21
21
TTTT
TTTTTTT
TTTTTTT
��
���
������
���
����
����
bmbm
abmamam
bmabmamK
2-49
Capítulo 2 Modelado matemático
33
P2 = Energía potencial del eslabón 2
� �322222 21 TTT �� gbsenmgasenmP 2-50
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
21
2
21
21 T�ccc IWVK � 2-51
222ccc yxV �� � 2-52
� �322 coscos TTT �� baxc 2-53
� �� �323222 TTTTTT ���� ���� bsenasenxc 2-54
� �� �
� �� �2323222
3222322
222
222 2
TTTT
TTTTTTTT��
�����
���
���
senb
senabsensenaxc 2-55
� �322 TTT �� bsenasenyc 2-56
� �� �323222 coscos TTTTTT ���� ��� bayc 2-57
� �� �
� �� �2323222
3222322
222
222
cos
coscos2cos
TTTT
TTTTTTTT��
�����
���
���
b
abayc 2-58
Sustituyendo 2-55 y 2-58 en 2-52:
� �� �� �� �
� �� � � �� �2323222
3222322
222
2223232
22
3222322
222
222
coscoscos2
cos
2
TTTTTTTTTT
TTTTTT
TTTTTTTT
�����
���
����
������
����
���
bab
asenb
senabsensenaVc
2-59
“Caracterización de un robot manipulador articulado”
34
Aplicando identidades trigonométricas (ver apéndice E) a la ecuación 2-59 se
obtiene:
� � � �2322
33222
22
22 cos2 TTTTTTT ������ ���� babaVc 2-60
2cc WxI 2-61
� �> @2322
2 coscos TTT �� baxc 2-62
� � � �3222
3222222 coscoscos2cos TTTTTT ���� babaxc 2-63
� � � �
� �
� � 2132
221
2
21322
212
221
2
232
2332
22
22
2
2cos41
41
coscos2cos41
41
21cos
21
TTTT
TTTTTTT
TTTTTTT
��
���
������
���
����
����
WbWb
WabWaWa
WbWabWaKc
2-64
PC = Energía potencial con respecto a la carga
� �322 TTT �� WgbsenWgasenPC 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]
ii PKL 6�6 2-66 Donde
iK6 representa la sumatoria de las energías cinéticas,
iP6 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
Capítulo 2 Modelado matemático
35
� � � �
� �
� �
� � � �
� �
� �
� � � �32232222
212
13222
12
21322
212
221
2
232
2332
22
22
2
2132
22
21
22
213222
212
22
21
22
232
22332
222
22
22
212
21
21
21
22
21
21
2
21
212cos
41
41
coscos2cos41
41
21cos
21
2cos161
161
coscos212cos
41
41
81cos
21
21
2cos161
161
81
21
TTTTTT
TTTTT
TTTTTTT
TTTTTTT
TTTT
TTTTTTT
TTTTTTT
TTTTT
������
����
����
�����
���
����
�����
���
WgbsenWgasengbsenmgasenm
gasenmWbWb
WabWaWa
WbWabWa
bmbm
abmamam
bmabmam
amamamlmL b
��
���
������
��
���
������
����
2-68
Para obtener el par aplicado a partir de la ecuación de movimiento de Lagrange, se emplea:
qL
qL
dtd
ww
�ww
�
W 2-69
El siguiente desarrollo resulta de aplicar la ecuación de movimiento de Lagrange
(ecuacion 2-69) a el Lagrangiano (ecuación 2-68).
� �
� �
� �
� � 1322
12
1322122
12
1322
212
2
13222122
212
2
122
112
112
1
2cos21
21
coscos22cos21
21
2cos81
81
coscos2cos21
21
2cos81
81
TTTT
TTTTTTT
TTTT
TTTTTTT
TTTTT
��
���
��
���
����
���
����
���
����
�� ww
WbWb
WabWaWa
bmbm
abmamam
amamlmLb
2-70
“Caracterización de un robot manipulador articulado”
36
� �� � � �� �
� �
� �� �
� � � �
� �� �
� � � �� � 132322
1322
12
132322
213221322
2122
122
12
132322
2
1322
212
2
1323222213222
132222122
2
122
212
22122
1
122
112
112
1
22cos21
21cos2
cos2coscos2
22cos21
21
241
2cos81
81
coscoscoscos2
2cos21
212
41
2cos81
81
TTTTTTTT
TTTTTTT
TTTTTTTTT
TTTTTT
TTTTT
TTTT
TTTTTTTTTTT
TTTTTTT
TTTTTT
TTTTT
�����
�����
����
������
���
����
�����
����
������
�������
�����
����
����
���
���
���
�����
���
���
�� ww
senWbWb
WbsenWab
WabsenWab
senWaWaWa
senbm
bmbm
senabmabsenmabmsenam
amamsenam
amamlmLdtd
b
2-71
01
wwTL 2-72
� �
� � � �� �32
2
33222
322
2
332222
222
12
cos241
cos221
41
TT
TTTTTT
TTTTTT
��
�����
�����
��
�����
��� ww
Wb
WabWabm
abmamamL
2-73
� �
� � � �� �
� � � �322
3332
33222
322
233322
332222
222
12
2
cos2412
21
cos221
41
TTTTTT
TTTT
TTTTTT
TTTTTT
�������
������
�������
���������
����
���
����
��� ww
WbsenWabWabWa
bmsenabm
abmamamLdtd
2-74
Capítulo 2 Modelado matemático
37
� �
� � � �
� �
� � � �
� �
� �322
3222221
2132
221322
21322
212
2
2132
22
213222
213222
212
22
212
21
2
coscos
cos21coscos
21
221cos
cos221
281cos
21
cos212
21
281
TTT
TTTT
TTTTTTT
TTTTTT
TTTTTTT
TTTTTT
TTT
���
����
����
���
����
���
� ww
WgbWga
gbmgamgam
senWbsenWab
WabsensenWa
senbmsenabm
absenmsenam
senamL
��
��
��
��
�
2-75
� �
� �322
32
322
23223
cos
41cos
21
TTTT
TTTTT
���
����
���
�� ww
WbWab
bmabmL 2-76
� �
� �322
32323
322
232322323
cos
41
21cos
21
TTTTTTT
TTTTTTTT
��������
���������
����
��� ww
WbWabsenWab
bmabsenmabmLdtd
2-77
� � � �
� � � �
� � � �
� � � �32322
2132
221322
33222
2132
22
213222332
222
3
coscos21
221cos
281
cos21
21
TTTT
TTTTTTT
TTTTTTT
TTTTTTTTT
����
����
����
���� ww
Wgbgbm
senWbsenWab
senWabsenbm
senabmsenabmL
��
����
����
2-78
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 T� , es decir TW �vFricción 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]:
“Caracterización de un robot manipulador articulado”
38
> @iiV vvecqF T�� 2-79
Donde:
iv Es un coeficiente constante conocido de fricción
VF Matriz diagonal con términos iv vec Denota vector
iq T�� 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:
� � � � � � W ��� qFqGqqVqqM V ���� , 2-80 Donde:
� �qM Matriz de inercia � �qqV �, Vector de las fuerzas centrífugas
qFV � Vector de las fuerzas de fricción
� �qG Vector de las fuerzas gravitacionales
W Par requerido
Expresando la ecuación 2-80 en forma matricial se tiene:
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª�
»»»
¼
º
«««
¬
ª�
»»»
¼
º
«««
¬
ª�
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª
3
2
1
3
2
1
3
2
1
3
2
1
000000
TTT
TTT
WWW
�
�
�
��
��
��
vv
v
ONM
PKJ
IHGFEDCBA
2-81
Donde: 2.2.2.7 Par de la articulación 1 (cintura)
113211 TTTTW �������VFMJCBA ����� 2-82
Capítulo 2 Modelado matemático
39
Inercias
� � � �
� �
� �3222
322222
322
22
23222
22
22
222
12
12
2cos21
21
coscos22cos21
21
2cos81
81coscos
2cos21
212cos
81
81
TT
TTTT
TTTTT
TT
���
����
�����
����
WbWb
WabWaWa
bmbmabm
amamamamlmA b
2-83
B = 0 2-84 C = 0 2-85
Fuerzas centrífugas y de Coriolis
� �� �� �
� �� �
� �� �� �
� �� � 132322
132322
21322
2122
132322
2
1323222
213222
2122
22122
1
2
cos2cos2
2
241
coscos
2241
TTTTT
TTTTTT
TTTTTTTT
TTTTT
TTTTTT
TTTTT
TTTTTT
���
���
��
��
���
���
��
����
���
���
��
�
���
���
��
��
senWbsenWab
WabsensenWa
senbm
senabmabsenm
senamsenamJ
2-86
Efectos gravitacionales
M = 0 2-87 Efectos de fricción
11,1 TW �vfricción 2-88 2.2.2.8 Par de la articulación 2 (hombro)
NKFED ���� 3212 TTTW ������ 2-89
“Caracterización de un robot manipulador articulado”
40
Inercias
D = 0 2-90
23
222322
221 cos2
41cos
41 WbWabWabmabmmaamE ������ TT 2-91
2
32
232 cos41cos
21 WbWabbmabmF ��� TT 2-92
Fuerzas centrífugas y de Coriolis
� � � �
� �
� � � �
� � � � � � 2132
221322
21322
212
22132
22
213222
213222
212
22
212
21
333233322
221coscos
2212
81cos
21
cos212
212
81
2221
TTTTTTTTTTT
TTTTTTTTT
TTTTTTTT
TTTTTTTT
���
���
���
������
������
�����
����
����
senWbsenWabWabsen
senWasenbmsenabm
absenmsenamsenam
senWabsenabmK
2-93
Efectos Gravitacionales
� �
� �322
3222221
coscos
cos21coscos
21
TTT
TTTT
���
���
WgbWga
gbmgamgamN 2-94
Efectos de fricción
22,2 TW �vfricción 2-95 2.2.2.9 Par de la articulación 3 (codo)
OPIHG ���� 3213 TTTW ������ 2-96
Inercias G = 0 2-97
Capítulo 2 Modelado matemático
41
2
32
232 cos41cos
21 WbWabbmabmH ��� TT 2-98
22
241 WbbmI � 2-99
Fuerzas centrífugas y de Coriolis
� �
� � � �
� � � � � � 2132
22132232
223
2132
22
213222
3222323233232
221cos
281cos
21
21
21
TTTTTTTTTTT
TTTTTTT
TTTTTTTTTT
�����
��
�������
������
����
����
senWbsenWabWabsen
senbmsenabm
absenmWabsenabsenmP
2-100
Efectos gravitacionales
� � � �32322 coscos21 TTTT ��� WgbgbmO 2-101
Efectos de fricción
33,3 TW �vfricción 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:
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª�
»»»
¼
º
«««
¬
ª�
»»»
¼
º
«««
¬
ª�
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª
3
2
1
3
2
1
3
2
1
3
2
1
0000000
00
00
TTT
TTT
WWW
�
�
�
��
��
��
vv
v
ON
PKJ
IHFE
A 2-103
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”
“Caracterización de un robot manipulador articulado”
42
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:
1111 TTW ��� vJA �� 2-104
22322 TTTW ����� vNKFE ���� 2-105
33323 TTTW ����� vOPIH ���� 2-106 Utilizando un cambio de variables para comodidad en el manejo de términos se emplea:
X 1T�� 2-107
Y 2T�� 2-108
Z 3T�� 2-109 Aplicando el cambio de variables en las ecuaciones 2-104, 2-105 y 2-106:
111 TW �vJAX �� 2-110
222 TW �vNKFZEY ���� 2-111
333 TW �vOPIZHY ���� 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:
111 TW �vJT �� 2-113
222 TW �vNKQ ��� 2-114
333 TW �vOPS ��� 2-115
Capítulo 2 Modelado matemático
43
Sustituyendo los pares en las ecuaciones 2-113, 2-114 y 2-115, sufren la siguiente
modificación:
AXT 2-116
FZEYQ � 2-117
IZHYS � 2-118
Resolviendo las ecuaciones por el método de determinantes o regla de Cramer se tiene:
> @FHEIAIHFE
A�
»»»
¼
º
«««
¬
ª
00
00det 2-119
> @> @ A
TFHEIAFHEIT
IHFE
AIHSFEQ
T
X ��
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª
00
00
00
2-120
> @> @ FHEI
FSQIFHEIAFSQIA
IHFE
AISFQ
TA
Y��
��
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª
00
0000
0
2-121
> @> @ FHEI
QHESFHEIAQHESA
IHFE
ASHQETA
Z��
��
»»»
¼
º
«««
¬
ª
»»»
¼
º
«««
¬
ª
00
0000
0
2-122
“Caracterización de un robot manipulador articulado”
44
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:
AT
1T�� 2-123
> @ > @
FHIEvOPFvNKI
��������
3332222
TWTWT��
�� 2-124
> @ > @
FHIEvNKHvOPE
��������
2223333
TWTWT��
�� 2-125
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”.
Capítulo 3 Simulación en PC
45
Capítulo 3
SIMULACIÓN EN PC
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).
E
“Caracterización de un robot manipulador articulado”
46
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');
Capítulo 3 Simulación en PC
47
%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;
“Caracterización de un robot manipulador articulado”
48
%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);
Capítulo 3 Simulación en PC
49
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])
“Caracterización de un robot manipulador articulado”
50
%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.
Capítulo 3 Simulación en PC
51
Cuadro de diálogo
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.
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
“Caracterización de un robot manipulador articulado”
52
Figura 3-1 Vista de planta.
Figura 3-2 Vista lateral.
Figura 3-3 Vista isométrica.
Capítulo 3 Simulación en PC
53
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');
“Caracterización de un robot manipulador articulado”
54
%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;
Capítulo 3 Simulación en PC
55
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);
“Caracterización de un robot manipulador articulado”
56
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
Capítulo 3 Simulación en PC
57
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
“Caracterización de un robot manipulador articulado”
58
%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;
Capítulo 3 Simulación en PC
59
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
“Caracterización de un robot manipulador articulado”
60
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);
Capítulo 3 Simulación en PC
61
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');
“Caracterización de un robot manipulador articulado”
62
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.
Capítulo 3 Simulación en PC
63
Cuadro de diálogo
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.
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
“Caracterización de un robot manipulador articulado”
64
Figura 3-4 Vista de planta.
Figura 3-5 Vista lateral.
Figura 3-6 Vista isométrica.
Capítulo 3 Simulación en PC
65
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.
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.
D I N A M I C A I N V E R S A
DINAMICA EN LA CINTURA
DINAMICA EN EL HOMBRO DINAMICA EN EL CODO
TRAYECTORIAS
TAO3TAO2
TAO1
O
Subsystem7
P
Subsystem6
I
Subsystem5
H
Subsystem4
N
Subsystem3
K
Subsystem2
F
Subsystem1
E
Subsystem
J
SubSystem1
A
SubSystem Product6
Product4
Product3
Product2
Product1
PARAMETROS
Tao3
Goto33
Tao2
Goto32
Tao1
Goto31
alfa3
From20
alfa2
From19
alfa3
From18
alfa2
From17
alfa1
From16
Entrada 3Entrada 2Entrada 1
0
Display2
0
Display1
0
Display
Figura 3-8 Diagrama de bloques principal de la dinámica inversa.
ș
Dinámica inversa
ș WD-1 ș
“Caracterización de un robot manipulador articulado”
66
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.
GRAVITACIONALES
SubSystem1
INERCIAS
SubSystemPéndulo SimpleProduct4
PARAMETROS
-1
Gain1
[alfa2]
From7
Entrada 2
0
Display
Figura 3-9 Diagramas de bloques de la dinámica inversa del péndulo simple.
Capítulo 3 Simulación en PC
67
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.
0 2 4 6 8 10 12 14 16 180
1
2
3
4
5
6
7
8
Tiempo (s)
Par (N-m)
Figura 3-10 Gráfica del par requerido por el péndulo simple (1 GDL).
0 2 4 6 8 10 12 14 16 180
1
2
3
4
5
6
7
8
Tiempo (s)
Par (N-m)
Figura 3-11 Gráfica del par requerido por el robot
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.
INERCIAS
Subsystem
Péndulo HorizontalProduct1
PARAMETROS
alfa1
From1
Entrada 1
0
Display
-1
Ajuste
Figura 3-12 Diagrama de bloques principal de la dinámica inversa del péndulo horizontal.
“Caracterización de un robot manipulador articulado”
68
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 2 4 6 8 10 12 14-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
Tiempo (s)
Par(N-m)
Figura 3-13 Gráfica del par requerido por el
péndulo horizontal (1 GDL).
0 2 4 6 8 10 12 14-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Tiempo (s)
Par(N-m)
Figura 3-14 Gráfica del par requerido por 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.
Capítulo 3 Simulación en PC
69
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
ESLABÓN 2
Product3
Product2
Product1
Product
Par articulación 2
0
Par articulación 2
0
Par articulación 1
Par articulación 1
PARAMETROS
D_2
INERCIA 3
C_2
INERCIA 2
B_2
INERCIA 1
A_2
INERCIA
1
Gain1
-1
Gain
H_2
GRAVITACIONALES1
G_2
GRAVITACIONALES
[alfa2]
From4
[alfa3]
From3
[alfa2]
From2
[alfa3]
From1
Entrada 3Entrada 2
F_2
CENTRIFUGAS Y DE CORIOLIS1
E_2
CENTRIFUGAS Y DE CORIOLIS
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.
“Caracterización de un robot manipulador articulado”
70
0 2 4 6 8 10 12 141.5
2
2.5
3
3.5
4
4.5
5
5.5
6
Tiempo (s)
Par(N-m)
Figura 3-16 Gráfica del par requerido por el robot planar (2 GDL).
0 2 4 6 8 10 12 141.5
2
2.5
3
3.5
4
4.5
5
5.5
6
Tiempo (s)
Par(N-m)
Figura 3-17 Gráfica del par requerido por el 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.
0 2 4 6 8 10 12 14-0.5
0
0.5
1
1.5
2
Tiempo (s)
Par(N-m)
Figura 3-18 Gráfica del par requerido por el robot planar (2 GDL).
0 2 4 6 8 10 12 14-0.5
0
0.5
1
1.5
2
Tiempo (s)
Par(N-m)
Figura 3-19 Gráfica del par requerido por 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.
Capítulo 3 Simulación en PC
71
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.
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
Figura 3-21 Bloque de la dinámica directa e inversa.
ș
Dinámica directa
șD ș
W
W
Dinámica inversa șșș
D-1 șș
Dinámica directa
D ș
“Caracterización de un robot manipulador articulado”
72
D I N A M I C A I N V E R S A
DINAMICA EN LA CINTURA
DINAMICA EN EL HOMBRO DINAMICA EN EL CODO
TRAYECTORIAS
D I N A M I C A D I R E C T A
DINAMICA EN LA CINTURA
DINAMICA EN EL HOMBRO
DINAMICA EN EL CODO
TAO3TAO2
TAO1
O
Subsystem7
P
Subsystem6
I
Subsystem5
E
Subsystem47
H
Subsystem46
F
Subsystem45
P
Subsystem44
O
Subsystem43
I
Subsystem42
N
Subsystem41
K
Subsystem40
H
Subsystem4
H
Subsystem39
F
Subsystem38
I
Subsystem37
E
Subsystem36
E
Subsystem35
F
Subsystem34
H
Subsystem33
I
Subsystem32
P
Subsystem31
O
Subsystem30
N
Subsystem3
N
Subsystem29
K
Subsystem24
K
Subsystem2
F
Subsystem1
E
Subsystem
J
SubSystem3
A
SubSystem2
J
SubSystem1
A
SubSystem
R2D
Radiansto Degrees3
R2D
Radiansto Degrees1
R2D
Radiansto Degrees
Product9
Product8
Product7
Product6
Product5
Product4
Product3
Product2
Product16
Product15
Product14
Product13
Product12
Product11
Product10
Product1
Posicion - hombro
Posicion - codo
Posicion - cintura
PARAMETROS
s
1
Integrator5s
1
Integrator4
s
1
Integrator3s
1
Integrator2
s
1
Integrator1s
1
Integrator
Tao3
Goto33
Tao2
Goto32
Tao1
Goto31
[Tao3]
From25
[Tao3]
From24
[Tao2]
From23
[Tao2]
From22
[Tao1]
From21
[alfa3]
From20
[alfa2]
From19
[alfa3]
From18
[alfa2]
From17
[alfa1]
From16
Entrada 3Entrada 2Entrada 1
0
Display5
0
Display4
0
Display3
0
Display2
0
Display1
0
Display
0
Compesacion
Figura 3-22 Diagrama de bloques principal de la dinámica directa.
Capítulo 3 Simulación en PC
73
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.
0 2 4 6 8 10 12 14 16 18-6
-4
-2
0
2
4
6
Tiempo (s)
Par(N-m)
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.
0 2 4 6 8 10 12 14 16 1840
50
60
70
80
90
100
110
120
130
140
Tiempo (s)
Grados
Figura 3-24 Posición dinámica inversa.
0 2 4 6 8 10 12 14 16 1840
50
60
70
80
90
100
110
120
130
140
Tiempo (s)
Grados
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.
“Caracterización de un robot manipulador articulado”
74
0 2 4 6 8 10 12 14 16 18
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Tiempo (s)
Rad/seg.
Figura 3-26 Velocidad dinámica inversa.
0 2 4 6 8 10 12 14 16 18
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Tiempo (s)
Rad/seg.
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 2 4 6 8 10 12 14 16 18-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Tiempo (s)
Rad/seg2.
Figura 3-28 Aceleración dinámica inversa.
0 2 4 6 8 10 12 14 16 18-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
Tiempo (s)
Rad/seg2.
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.
Capítulo 4 Validación
75
Capítulo 4
VALIDACIÓN
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
L
“Caracterización de un robot manipulador articulado”
76
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.
Tabla 4-2 Parte del cuadro de dialogo de la cinemática inversa.
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.
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
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
Capítulo 4 Validación
77
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.
“Caracterización de un robot manipulador articulado”
78
Figura 4-2 Diagrama de conexiones.
W = i Km n 4-1 Donde:
W 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:
x Movimiento en la cintura x Movimiento en el hombro x Movimiento en el codo x 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
Corriente del Motor 3
CH1 CH2 CH3 CH4
CONTROLADOR
ROBOT Corriente del Motor 2
Corriente del Motor 1
Capítulo 4 Validación
79
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.
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 guardar datos en floppy
Tektronix TDS 3054B
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:
x Flexómetro x Masking type x Verniere x Regla
Equipo utilizado para cronometrar tiempos de las pruebas:
x Reloj de pulso con función de cronómetro
PARABÓLICO
“Caracterización de un robot manipulador articulado”
80
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.
x Servo motor de 12 VDC. x Marca: PITTMAN x Modelo: GM9413 x Constante de par: 3.9e-02 N m / A x 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
Capítulo 4 Validación
81
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.
“Caracterización de un robot manipulador articulado”
82
Tabla 4-4 Información que despliega el Pro-Enginner.
Capítulo 4 Validación
83
Tabla 4-5 Concentrado del peso total del robot.
# Nombre Material Densidad
(gr/cm3) Peso
unitario(kg.) Cantidad Peso
(kg.)
B A S E
1 engrane_base Acero 7860 0.6080 1 0.6080 2 engrane1_base Acero
Inoxidable 7470 0.0250 3 0.0750
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 Inoxidable
7470 0.4563 2 0.9126
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
Inoxidable 7470 0.1731 1 0.1713
16 e1_eje2 Acero Inoxidable
7470 0.0838 2 0.1676
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
Inoxidable 7470 0.1986 1 0.1986
20 e2_eje2 Acero Inoxidable
7470 0.0733 2 0.1466
21 e2_eje1 Acero Inoxidable
7470 0.1267 1 0.1267
22 e2_banda2 Aluminio 2643 0.0733 1 0.0733 TOTAL 0.9888
F I N A L 10.3773
“Caracterización de un robot manipulador articulado”
84
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.
Capítulo 4 Validación
85
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º 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.
100º
“Caracterización de un robot manipulador articulado”
86
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 programa
Tiempo completo
Núm. de prueba
Tiempo de ida
Tiempo de regreso
Tiempo de un ciclo
Velocidad 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.
Capítulo 4 Validación
87
4.2.5.1.4 Graficación de los datos de la corriente en Excel
Corriente en el Motor 1
-0.8-0.6-0.4-0.2
00.20.40.60.8
1 3 5 7 9 11 13 15 17
Tiempo (s)
Cor
rient
e (A
)
CH1
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
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.
MOTOR
N1 = 120 dientes
N2 = 24 dientes
? n =0.2 x 127.1 = 25.42
“Caracterización de un robot manipulador articulado”
88
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-0.2-0.1
00.10.20.30.40.50.6
3 8 13 18
Tiempo (s)
Par (
N-m
) Par
20 per. media móvil(Par)
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 2 4 6 8 10 12 14-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
N-m
TIME
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.
Tiempo (s)
Par (N-m)
a
a
b
b
c
c
Capítulo 4 Validación
89
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.
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.
150º
“Caracterización de un robot manipulador articulado”
90
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 programa
Tiempo completo
Núm. de prueba
Tiempo de ida
Tiempo de regreso
Tiempo de un ciclo
Velocidad 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.
Capítulo 4 Validación
91
4.2.5.2.4 Graficación de los datos de la corriente en Excel
Corriente en el Motor 2
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
3 8 13
Tiempo (s)
Cor
rient
e (A
)
CH2
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
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.
MOTOR
N1 = 72 dientes
N2 = 18 dientes
? n = 4 x127.1 = 508.4
“Caracterización de un robot manipulador articulado”
92
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-8-6-4-202468
10
3 8 13
Tiempo (s)
Par (
N-m
) Par
20 per. media móvil(Par)
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
0 2 4 6 8 10 12 14 16 18-4
-2
0
2
4
6
8
N-m
TIME
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.
Tiempo (s)
Par (N-m)
a
b
c
b
a c
Capítulo 4 Validación
93
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.
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.
251º
“Caracterización de un robot manipulador articulado”
94
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 programa
Tiempo completo
Núm. de prueba
Tiempo de ida
Tiempo de regreso
Tiempo de un ciclo
Velocidad 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.
Capítulo 4 Validación
95
4.2.5.3.4 Graficación de los datos de la corriente en Excel
Corriente en el Motor 3
-0.5
-0.3
-0.1
0.1
0.3
0.5
0 5 10 15 20
Tiempo (s)
Cor
rient
e (A
)
CH3
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
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.
MOTOR
N2 = 72 dientes
N3 = 18 dientes
? n = 1.3 x127.1 = 169.4
N1 = 24 dientes
“Caracterización de un robot manipulador articulado”
96
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-4
-202
46
8
0 5 10 15 20
Tiempo (s)
Par (
N-m
) Par
20 per. media móvil(Par)
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.
0 2 4 6 8 10 12 14 16 18-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
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.
Tiempo (s)
Par (N-m)
a
a
b
c
b
c
Capítulo 4 Validación
97
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.
“Caracterización de un robot manipulador articulado”
98
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 programa
Tiempo completo
Núm. de prueba
Tiempo de ida
Tiempo de regreso
Tiempo de un ciclo
Velocidad 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.
Capítulo 4 Validación
99
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-0.3-0.10.10.30.50.7
1 6 11 16
Tiempo (s)
Cor
rient
e (A
)
CH2
CH3
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.
“Caracterización de un robot manipulador articulado”
100
Par en el hombro obtenido en pruebas
-5-4-3-2-10123456789
10
1 6 11 16
Tiempo (s)
Par (
N-m
) HOMBRO
20 per. media móvil(HOMBRO)
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.
0 2 4 6 8 10 12 14 16 181.5
2
2.5
3
3.5
4
4.5
5
5.5
6
N-m
TIME
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.
Tiempo (s)
Par (N-m)
a
b
c
a
b
c
Capítulo 4 Validación
101
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
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5
1 6 11 16
Tiempo (s)
Par (
N-m
) CODO
20 per. media móvil(CODO)
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 2 4 6 8 10 12 14 16 18-2.5
-2
-1.5
-1
-0.5
0
0.5
N-m
TIME
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.
Tiempo (s)
Par (N-m)
a
b
c
b
a c
“Caracterización de un robot manipulador articulado”
102
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.
Capítulo 5 Conclusiones
103
Capítulo 5
CONCLUSIONES
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.
E
“Caracterización de un robot manipulador articulado”
104
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.
Capítulo 5 Conclusiones
105
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.
“Caracterización de un robot manipulador articulado”
106
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-0.1
00.10.20.30.40.50.6
3 8 13 18
Tiempo (s)
Par (
N-m
) Par
20 per. media móvil(Par)
Figura 5-1 Par generado por el motor1 para mover la cintura
0 2 4 6 8 10 12 14-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
0.15
0.2
0.25
Tiempo (s)
Par(N-m)
Figura 5-2 Par en simulación para el movimiento de cintura sin fricción.
0 2 4 6 8 10 12 14-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
Tiempo (s)
Par(N-m)
Figura 5-3 Par en simulación para el movimiento de cintura con fricción.
Capítulo 5 Conclusiones
107
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.
“Caracterización de un robot manipulador articulado”
108
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:
x 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.
x El estudiar si algún tipo de control se puede implementar con el Scorbot ER V plus.
x 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.
x 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.
x Reconocimiento en el espacio de trabajo para evitar colisiones del robot en él
mismo y con su entorno.
x Reproducir otro robot del tipo del Scorbot-ER V plus.
x Controlar al robot en línea a través de Internet.
x El fusionar otros trabajos de tesis de los demás departamentos que componen el Cenidet con el Scorbot-ER V plus.
x 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.
Bibliografía general
109
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
“Caracterización de un robot manipulador articulado”
110
[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
Bibliografía general
111
[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
“Caracterización de un robot manipulador articulado”
112
[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
Bibliografía general
113
[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
“Caracterización de un robot manipulador articulado”
114
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
Apéndice A El robot Scorbot – ER V plus
115
Apéndice A
EL ROBOT SCORBOT - ER V plus
“Caracterización de un robot manipulador articulado”
116
A.1 Especificaciones
Apéndice A El robot Scorbot – ER V plus
117
A.2 Espacio de trabajo
“Caracterización de un robot manipulador articulado”
118
A.3 Métodos de operación
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
121
A.4 Control de trayectoria
“Caracterización de un robot manipulador articulado”
122
Apéndice A El robot Scorbot – ER V plus
123
A.5 Interfase
“Caracterización de un robot manipulador articulado”
124
Apéndice B Cinemática
125
Apéndice B
CINEMÁTICA
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.
L
“Caracterización de un robot manipulador articulado”
126
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.
Figura B-1a Uniones de revolución (R).
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.
2l z
1l
T T T
2l
2l 1l 1l
z
zz 2l 2l
1l 1l 1l d d d
2l
Apéndice B Cinemática
127
B.1.2 Parámetros Denavit – Hartenberg
x Ti: 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.
x 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.
x 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.
x Di: 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]
x 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.
x D-H 2.- Numerar cada articulación comenzando por 1 (la correspondiente al primer grado de libertad) y acabando en n
x 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.
x D-H 4.- Para i de 0 a n-1 situar el eje zi sobre el eje de la articulación i+1. x 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. x 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.
x D-H 7.- Situar xi en la línea normal común a zi-1 y zi. x D-H 8.- Situar yi de modo que forme un sistema dextrógiro con xi y zi. x 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. x D-H 10.- Obtener Ti como el ángulo que hay que girar en torno a zi-1 para que xi-1 y
xi queden paralelos. x 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. x 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}.
“Caracterización de un robot manipulador articulado”
128
x D-H 13.- Obtener Di 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}.
x D-H 14.- Obtener las matrices de transformación i-1Ai. x D- 15.- Obtener la matriz de transformación entre la base y el extremo del robot T =
0A1 1A2 ... n-1An. x 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= 0A11A2
2A3…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 Ti 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 Di
Ai = Rotz,Ti Transz,d Transx,ai Rotx,ai B-1
»»»»
¼
º
««««
¬
ª
DDD�D
»»»»
¼
º
««««
¬
ª
»»»»
¼
º
««««
¬
ª
»»»»
¼
º
««««
¬
ªTTT�T
100000000001
100001000010
001
1000100
00100001
100001000000
ii
ii
i
i
ii
ii
i cssc
a
dcssc
A B-2
»»»»
¼
º
««««
¬
ª
DDTTD�TDTTTDTD�T
10000 iii
iiiiiii
iiiiiii
i dcssacsccscassscc
A B-3
Apéndice B Cinemática
129
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 > @Tnqqqq ,,, 21 � para que su extremo se posicione y oriente según una determinada localización espacial. B.2.1 Métodos de solución
x 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)
x 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. x Desacoplamiento cinemático
o En robots de 6 GDL o Separación de orientación y posicionamiento
x Otros o Algebra de tornillo o Cuaterniones duales o Métodos iterativos
“Caracterización de un robot manipulador articulado”
130
Apéndice C
DINÁMICA
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].
L
Apéndice C Dinámica
131
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:
22
21
iR IK T� Para la energía cinética rotacional.
2
21
iL mvK Para la energía cinética lineal.
Donde: m es la masa del elemento iT� y iv son las velocidades rotacional y lineal respectivamente del i-ésimo eslabón I es la inercia del elemento definida por:
2imlI
il = es la longitud del i-ésimo eslabón La ecuación de movimiento Lagrange está expresada por:
iii qL
qL
dtd W
ww
�ww�
C-2
para i = 1,..., n donde Wi, es la fuerza generalizada asociada con la coordenada generalizada qi.
“Caracterización de un robot manipulador articulado”
132
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:
2222
211(
21
rrbbbD GGG ���� ��� C-3
Donde
b1 es el coeficiente del i-ésimo amortiguador viscoso iG� es la diferencia de velocidad a través del i-ésimo amortiguador viscoso Así pues, iG� puede expresarse como función de las variables generalizadas iq� Mediante el uso de la función de disipación de Rayleigh, las ecuaciones de Lagrange para los sistemas no conservativos se convierte en:
0 ¸̧¹
·¨̈©
§ww
�¸̧¹
·¨̈©
§ww
�¸̧¹
·¨̈©
§ww
iii qD
qL
qL
dtd
�� C-4
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.
� � � � � � W ��� qFqGqqVqqM V ���� , 2-80
Apéndice C Dinámica
133
Donde:
� �qM Matriz de inercia � �qqV �, Vector de las fuerzas centrífugas
qFV � Vector de las fuerzas de fricción
� �qG Vector de las fuerzas gravitacionales
W Par requerido
“Caracterización de un robot manipulador articulado”
134
Apéndice D
PÉNDULOS
Apéndice D Péndulos
135
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 T es la única coordenada generalizada.
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 W = 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:
TTW
ww
�ww
LL
dtd
� D-2
W
T�
M1
M2
x1
x2
x1 = longitud x2 = longitud M1, M2 = masas W = carga
Figura D-1 Péndulo invertido
“Caracterización de un robot manipulador articulado”
136
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 T��y está representada por la ecuación D-3.�
2
21 T�IK D-3
2mxI D-4
)xx(x21xx
21
21211 ��¸¹·
¨©§ �� Wl D-5
� �221
2
212
2
11 xxx21xx
21
��¸¹·
¨©§ ��¸
¹·
¨©§ WmmI D-6
2221
21
222212
212
211 xxx2xx
41xxxx
41 WWWmmmmI ������ D-7
22
2212
12
222122
122
11 xxx2xx41xxxx
41
21 T�»¼
º«¬ª ������ WWWmmmmK D-8
222
221
221
2222
2212
2212
2211
x21xxx
21x
81
xx21x
21x
81
TTTT
TTT
����
���
WWWm
mmmK
����
�� D-9
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
)cos1( T� imghP D-10
)cos1( T� ii xh D-11
)cos1)(xx()cos1(x21x)cos1(x
21
2121211 TTT ����¸¹·
¨©§ ��� WggmgmP D-12
T
TT
cos)xx()xx(
cosx21xx
21xcosx
21x
21
2121
2122121111
����
¸¹·
¨©§ ��¸
¹·
¨©§ ���
WgWg
gmgmgmgmP D-13
Apéndice D Péndulos
137
Por lo tanto el Lagrangeano esta dado por:
TT
TTTT
TTTT
cos)xx()xx(cosx21xx
21x
cosx21x
21x
21xxx
21
x81xx
21x
21x
81
2121212212
111122
22
2122
1
2212
2212
2212
2211
����¸¹·
¨©§ ��¸
¹·
¨©§ ��
�����
���
WgWggmgm
gmgmWWW
mmmmL
���
����
D-14
TTTTTTTT
��������
2221
21
222212
212
211 xxx2xx
41xxxx
41 WWWmmmmL
������ ww D-15
TT
��� ¸
¹·
¨©§ ������
ww 2
2212
12
222122
122
11 xxx2xx41xxxx
41 WWWmmmmL
dtd D-16
TTTT
senWgsengmsengmL )xx(x21xx
21
2121211 ��¸¹·
¨©§ ���
ww D-17
Empleando el Lagrangiano para resolver la ecuación de movimiento de Lagrange
tenemos el siguiente desarrollo.
TTT
TW
senWgsengmsengm
WWWmmmm
)xx(x21xx
21
xxx2xx41xxxx
41
2121211
2221
21
222212
212
211
��¸¹·
¨©§ ���
¸¹·
¨©§ ������ ��
D-18
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.
“Caracterización de un robot manipulador articulado”
138
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 ri
2 Į 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
Fit
Fin
Fi
mi
ri
Figura D-2 Rotación de un cuerpo sobre un eje.
O
Apéndice D Péndulos
139
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 T es la única coordenada generalizada.
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 W = 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:
� �22
2
2
12
21
21 baWbamamlmI b ��¸
¹·
¨©§ ��¸
¹·
¨©§� D-21
222
222
22
12 2
41
41 WbWabWabmabmamamlmI b ������� D-22
M1 M2 W
x1 = 0.22
Giro de la estructura
Giro del motor
Vista lateral Vista de planta
x2 = 0.22
“Caracterización de un robot manipulador articulado”
140
222222
22
21
2 241
41
21 T�¸
¹·
¨©§ ������� WbWabWabmabmamamlmK b D-23
22222222
22
222
221
22
21
21
81
21
21
81
21
TTTT
TTTT
����
����
WbWabWabm
abmamamlmK b
����
��� D-24
D.3.2 Energía potencial
Como se mencionó la energía potencial para este modelo es cero.
0 P D-25
Por lo tanto el Lagrangiano esta dado por:
21
221
21
221
22
212
21
22
21
21
21
2
21
21
81
21
21
81
21
TTTT
TTTT
����
����
WbWabWabm
abmamamlmL b
����
��� D-26
TTTT
TTTTT
����
�����
2222
22
22
12
241
41
WbWabWabm
abmamamlmLb
����
��� ww
D-27
TT
��� ¸
¹·
¨©§ �������
ww 222
222
22
12 2
41
41 WbWabWabmabmamamlmL
dtd
b D-28
01
wwTL D-29
TW ��¸¹·
¨©§ ������� 222
222
22
12 2
41
41 WbWabWabmabmamamlmb D-30
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.
Apéndice D Péndulos
141
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 Z
Eje XY
a
b
T2
m2
T3
m1
Wg
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
22
2
11 221 T�¸
¹·
¨©§ amK D-31
22
2
11 421 T�amK D-32
Eje Y
Eje X
“Caracterización de un robot manipulador articulado”
142
22
211 8
1 T�amK D-33
P1 = Energía potencial del eslabón 1
211 2TsenagmP D-34
D.4.2 Análisis de la articulación en el segundo eslabón K2 = Energía cinética del eslabón 2
2222 2
1 VmK D-35
22
22
22 yxV �� � D-36
� �3222 cos21cos TTT �� bax D-37
� �� �3232222 21 TTTTTT ���� ���� bsenasenx D-38
� �� �
� �� �2323222
3222322
222
2222
41 TTTT
TTTTTTTT
��
�����
���
���
senb
senabsensenax D-39
� �3222 21 TTT �� bsenaseny D-40
� �� �3232222 cos21cos TTTTTT ���� ��� bay D-41
� �� �
� �� �2323222
3222322
222
2222
cos41
coscoscos
TTTT
TTTTTTTT
��
�����
���
���
b
abay D-42
Sustituyendo las ecuaciones D-39 y D-42 en la ecuación D-36:
Apéndice D Péndulos
143
� �� �� �� �
� �� �� �� �23232
22
3222322
222
2223232
22
3222322
222
2222
cos41
coscos
cos41
TTTT
TTTTTT
TTTTTT
TTTTTTTT
��
���
���
����
���
���
����
���
b
ab
asenb
senabsensenaV
D-43
Aplicando identidades trigonométricas (ver apéndice E) a la suma de las ecuaciones
D-39 y D-42 se obtiene:
� � � �2322
33222
22
222
22 4
1cos TTTTTTT �������� ���� � babayx D-44
� � � � »¼º
«¬ª ����
232
2332
22
22
222 4
1cos21 TTTTTTT ������ babamK D-45
� � � �2322
2332222
22
222 8
1cos21
21 TTTTTTT ������ ���� bmabmamK D-46
P2 = Energía potencial del eslabón 2
� �322222 21 TTT �� gbsenmgasenmP D-47
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
2
21
cc WVK D-48
222ccc yxV �� � D-49
� �322 coscos TTT �� baxc D-50
� �� �323222 TTTTTT ���� ���� bsenasenxc D-51
� �� �
� �� �2323222
3222322
222
222 2
TTTT
TTTTTTTT��
�����
���
���
senb
senabsensenaxc D-52
“Caracterización de un robot manipulador articulado”
144
� �322 TTT �� bsenasenyc D-53
� �� �323222 coscos TTTTTT ���� ��� bayc D-54
� �� �� �� �23232
22
3222322
222
222
cos
coscos2cos
TTTT
TTTTTTTT��
�����
���
���
b
abayc D-55
Sustituyendo las ecuaciones D-52 y D-55 en la ecuación D-49:
� �� �� �� �
� �� � � �� �2323222
3222322
222
2223232
22
3222322
222
222
coscoscos2
cos
2
TTTTTTTTTT
TTTTTT
TTTTTTTT
�����
���
����
������
����
���
bab
asenb
senabsensenaVc D-56
Aplicando identidades trigonométricas (ver apéndice E) a la ecuación D-56 se
obtiene:
� � � �2322
33222
22
22 cos2 TTTTTTT ������ ���� babaVc D-57
� � � �2322
33222
22
2
21cos
21 TTTTTTT ������ ���� WbWabWaKc D-58
PC = Energía potencial con respecto a la carga
� �322 TTT �� WgbsenWgasenPC 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].
ii PKL 6�6 D-60 Donde
iK6 Representa la sumatoria de las energías cinéticas
iP6 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
Apéndice D Péndulos
145
� � � �
� � � �
� �
� �322
3222221
232
2332
22
22
2
232
22332
222
22
22
22
21
21
21
21cos
21
81cos
21
21
81
TTT
TTTT
TTTTTTT
TTTTTT
TT
���
����
�����
����
�
WgbsenWgasen
gbsenmgasenmgasenm
WbWabWa
bmabm
amamL
������
�����
��
D-62
Para obtener el par aplicado a partir de la ecuación de movimiento de Lagrange, se
emplea:
qL
qL
dtd
ww
�ww
�
W D-63
El siguiente desarrollo resulta de aplicar la ecuación de movimiento de Lagrange
ecuación D-63 a el Lagrangiano ecuación. D-62).
� �
� � � �� �32
2
33222
322
2
332222
222
12
cos241
cos221
41
TT
TTTTTT
TTTTTT
��
�����
�����
��
�����
��� ww
Wb
WabWabm
abmamamL
D-64
� �
� � � �� �
� � � �322
3332
33222
322
233322
332222
222
12
2
cos2412
21
cos221
41
TTTTTT
TTTT
TTTTTT
TTTTTT
�������
������
�������
���������
����
���
����
��� ww
WbsenWabWabWa
bmsenabm
abmamamLdtd
D-65
� � � �322322
22212
coscoscos21
coscos21
TTTTT
TTT
�����
�� ww
WgbWgagbm
gamgamL
D-66
“Caracterización de un robot manipulador articulado”
146
� �
� �322
32
322
23223
cos
41cos
21
TTTT
TTTTT
���
����
���
�� ww
WbWab
bmabmL D-67
� �
� �322
32323
322
232322323
cos
41
21cos
21
TTTTTTT
TTTTTTTT
��������
���������
����
��� ww
WbWabsenWab
bmabsenmabmLdtd
D-68
� � � �
� � � �32322
33222332
222
3
coscos21
21
TTTT
TTTTTTTTT
����
���� ww
Wgbgbm
senWabsenabmL ������
D-69
El modelo quedaría de forma general de la siguiente manera:
� � � � � � W �� qGqqVqqM ��� , D-70 Donde:
� �qM Matriz de inercia � �qqV �, Vector de las fuerzas centrífugas
� �qG Vector de las fuerzas gravitacionales
W Par requerido
Expresando la ecuación D-70 en forma matricial se tiene:
»¼
º«¬
ª�»
¼
º«¬
ª�»
¼
º«¬
ª»¼
º«¬
ª »
¼
º«¬
ª
2
2
2
2
3
2
22
22
3
2
HG
FE
DCBA
TT
WW
��
�� D-71
Donde:
2232222 GEBA ��� TTW ���� D-72
Apéndice D Péndulos
147
D.6 Par de la articulación 2
Inercias
23
222322
2212 cos2
41cos
41 WbWabWabmabmmaamA ������ TT D-73
2
32
2322 cos41cos
21 WbWabbmabmB ��� TT D-74
Fuerzas centrífugas y de Coriolis
� � � � 3332333222 2221 TTTTTTTT ������ senWabsenabmE ���� D-75
Efectos gravitacionales
� �
� �322
32222212
coscos
cos21coscos
21
TTT
TTTT
���
���
WgbWga
gbmgamgamG D-76
D.7 Par de la articulación 3
2232223 HFDC ��� TTW ���� D-77
Inercias
23
22322 cos
41cos
21 WbWabbmabmC ��� TT D-78
22
22 41 WbbmD � D-79
Fuerzas centrífugas y de Coriolis
22322 2
1 TT �absenWmF ¸¹·
¨©§ � D-80
Efectos gravitacionales
� � � �323222 coscos21 TTTT ��� WgbgbmH D-81
“Caracterización de un robot manipulador articulado”
148
Apéndice E
IDENTIDADES TRIGONOMÉTRICAS
Apéndice E Identidades trigonométricas
149
E.1 Relaciones entre las funciones trigonométricas
1cos22 � TTsen E-1 E.2 Funciones de ángulos múltiples
TTT cos22 sensen E-2
1cos221cos2cos 2222 � � � TTTTT sensen E-3 E.3 Potencias del seno y coseno en función de ángulos múltiples
)2cos1(212 TT � sen E-4
)2cos1(21cos2 TT � E-5
E.4 Funciones de la suma y diferencia de dos ángulos
DTTTDT sensensen coscos)( � � E-6
DTDTDT sensen� � coscos)cos( E-7
“Caracterización de un robot manipulador articulado”
150
Apéndice F
PROGRAMAS
Apéndice F Programas
151
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");
“Caracterización de un robot manipulador articulado”
152
//Á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);
Apéndice F Programas
153
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);
“Caracterización de un robot manipulador articulado”
154
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);
Apéndice F Programas
155
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);
“Caracterización de un robot manipulador articulado”
156
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
Apéndice F Programas
157
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)
“Caracterización de un robot manipulador articulado”
158
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.
E N C O D E R S Posición X Y Z P R 1 2 3 4 5
234 3539 -2229 5280 -83 -3 -4570 4575 -3391 1534 -1550235 4924 -3447 3678 93 -3 -4965 13650 -3012 2027 -2042236 2510 5461 3678 93 -3 9265 13650 -3012 2027 -2442237 170 -1984 2575 -535 104 -12076 3276 -9954 573 9 238 -293 3424 4861 2006 -13 -12076 3278 18530 7338 -7405240 -3401 -1411 739 -240 -3 -18389 16688 -6489 1098 -1112241 -1999 2417 8330 1310 -7 18389 -341 10848 5410 -5446293 1802 -1262 7132 991 -7 -4965 13650 7168 4522 -4559294 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.
Apéndice G Subsistemas en Matlab/Simulink
159
Apéndice G
SUBSISTEMAS EN MATLAB/SIMULINK
“Caracterización de un robot manipulador articulado”
160
G.1 Dinámica G.1.1 Dinámica inversa G.1.1.1 Parámetros
(Kg)(mts)
(Kg)(mts)
0.22
Upper Arm1
0.06
Radio_base14.7698
Masa_base1
0.9888
Masa4
2.2483
Masa39.81
Gravedad1
M1
Goto30
Mb
Goto29
l
Goto28
W
Goto27
g
Goto26b
Goto25
a
Goto24
M2
Goto23
0.22
Forearm1 0.4
Carga1
G.1.1.2 Entrada
E N T R A D A CONDICION INICIAL
Velocidad1
RepeatingSequence
R2D
Radiansto Degrees1
Posicion1
s
1
Integrator1s
1
Integrator
teta1
Goto8
alfa1
Goto7
omega1
Goto6
-K-
Gain1
D2R
Degrees toRadians
Aceleración1
0
# GRADOS
Apéndice G Subsistemas en Matlab/Simulink
161
G.1.1.3 Bloque A (ecuación 2-83)
1A
cos
TrigonometricFunction5
cos
TrigonometricFunction20
cos
TrigonometricFunction18
cos
TrigonometricFunction16
cos
TrigonometricFunction15
cos
TrigonometricFunction14
cos
TrigonometricFunction13
cos
TrigonometricFunction12
cos
TrigonometricFunction11
Product9
Product8
Product7
Product25
Product24
Product23
Product22
Product21
Product20
Product19
Product18
Product15
Product14
u2
MathFunction8
u2
MathFunction7
u2
MathFunction6
u2
MathFunction21
u2
MathFunction20
u2
MathFunction19
u2
MathFunction18
u2
MathFunction17
u2
MathFunction16
u2
MathFunction15
u2
MathFunction14
[A_14]
Goto27
[A_13]
Goto26
[A_11]
Goto24
[A_10]
Goto23
[A_9]
Goto22
[A_8]
Goto21
[A_7]
Goto20
[A_6]
Goto19
[A_5]
Goto18
[A_4]
Goto17
[A_3]
Goto16
[A_2]
Goto15
[A_1]
Goto12
2
Gain19
2
Gain16
2
Gain15
2
Gain13
2
Gain10
a
From99
b
From98
M2
From97
M2
From96
b
From95
M2
From94
a
From93
teta2
From92
M1
From91
teta2
From84
a
From83
a
From82
a
From80
[A_14]
From70
M1
From69
[A_13]
From68
teta3
From67
teta2
From66
W
From65
teta3
From62
teta2
From61teta3
From60
a
From59
teta2
From58
M2
From57
teta2
From55
teta3
From54
teta2
From53
M2
From52
b
From51
a
From50
[A_11]
From49
[A_10]
From48
[A_3]
From47
[A_6]
From46
[A_9]
From45
[A_4]
From44[A_5]
From40
[A_2]
From39
[A_7]
From38[A_8]
From37
[A_1]
From33
l
From23
Mb
From16
b
From112
W
From111
b
From110
b
From106
W
From105
teta2
From104
W
From103
teta2
From102
a
From101
W
From100
1/8
Constant7
1/8
Constant6
1/2
Constant23
1/2
Constant22
1/2
Constant21
1/8
Constant20
2
Constant19
1/2
Constant18
1/2
Constant17
1/8
Constant16
1/2
Constant14
“Caracterización de un robot manipulador articulado”
162
G.1.1.4 Bloque E (ecuación 2-91)
1E
cos
TrigonometricFunction2
cos
TrigonometricFunction1
Sum
Product6
Product5
Product4
Product3
Product2
Product1
Product
u2
MathFunction5
u2
MathFunction4
u2
MathFunction3
u2
MathFunction2
u2
MathFunction1
[E_7]
Goto6
[E_6]
Goto5
[E_5]
Goto4
[E_4]
Goto3
[E_3]
Goto2
[E_2]
Goto1
[E_1]
Goto b
From9
M2
From8
M2
From7
b
From6
a
From5
a
From4
M2
From3
[E_7]
From24
[E_6]
From23
[E_5]
From22
[E_4]
From21
[E_3]
From20
a
From2
[E_2]
From19
[E_1]
From18
b
From17
W
From16
W
From15
b
From14
a
From13
teta3
From12
a
From11
W
From10
M1
From1
teta3
From
2
Constant4
1/4
Constant2
1/4
Constant
G.1.1.5 Bloque F (ecuación 2-92)
1F
cos
TrigonometricFunction2
cos
TrigonometricFunction1
SumProduct6
Product5
Product3
Product2
u2
MathFunction5
u2
MathFunction3
[F_4]
Goto6
[F_1]
Goto5
[F_2]
Goto3
[F_3]
Goto2
b
From9
M2
From8
W
From7
b
From6
a
From5
[F_4]
From21
[F_3]
From20
[F_2]
From19
[F_1]
From18
b
From17
W
From16
M2
From15
b
From14
a
From13
teta3
From12teta3
From
1/2
Constant4
1/4
Constant2
Apéndice G Subsistemas en Matlab/Simulink
163
G.1.1.6 Bloque H (ecuación 2-98)
1H
cos
TrigonometricFunction2
cos
TrigonometricFunction1
SumProduct6
Product5
Product3
Product2
u2
MathFunction5
u2
MathFunction3
[H_4]
Goto6
[H_1]
Goto5
[H_2]
Goto3
[H_3]
Goto2
b
From9
M2
From8
W
From7
b
From6
a
From5
[H_4]
From21
[H_3]
From20
[H_2]
From19
[H_1]
From18
b
From17
W
From16
M2
From15
b
From14
a
From13
teta3
From12 teta3
From
1/2
Constant4
1/4
Constant2
G.1.1.7 Bloque I (ecuación 2-99)
1I
Sum
Product6
Product3
u2
MathFunction5
u2
MathFunction3
[I_2]
Goto6
[I_1]
Goto3[b]
From9
[M2]
From8
[I_2]
From19
[I_1]
From18
[b]
From17
[W]
From16
1/4
Constant2
“Caracterización de un robot manipulador articulado”
164
G.1.1.8 Bloque J (ecuación 2-86)
1J
cos
TrigonometricFunction7
sin
TrigonometricFunction34
sin
TrigonometricFunction32
cos
TrigonometricFunction31
cos
TrigonometricFunction26
sin
TrigonometricFunction25
sin
TrigonometricFunction24
cos
TrigonometricFunction23
sin
TrigonometricFunction22
sin
TrigonometricFunction20
sin
TrigonometricFunction2
sin
TrigonometricFunction18
sin
TrigonometricFunction1
Product9
Product8
Product5
Product4
Product3
Product2
Product12
Product1
Product
u2
MathFunction3
u2
MathFunction22
u2
MathFunction21
u2
MathFunction16
u2
MathFunction1
[J_9]
Goto9
[J_7]
Goto8
[J_6]
Goto5
[J_5]
Goto4
[J_4]
Goto3
[J_2]
Goto2
[J_8]
Goto13
[J_3]
Goto1
[J_1]
Goto
2
Gain5
2
Gain3
2
Gain21
2
Gain20
2
Gain10
teta3
From96
teta2
From95
M2
From91
M2
From90
omega2
From9
omega1
From8
[J_9]
From76
a
From7
M2
From6
[J_8]
From54
teta2
From5
[J_7]
From41
[J_3]
From40
omega2
From4
[J_6]
From39
[J_5]
From38
[J_4]
From31
omega3
From30
omega1
From3
omega2
From29
omega1
From28
omega3
From27
omega2
From26
omega1
From25
omega2
From22
omega1
From21
[J_2]
From20
a
From2
omega2
From17
omega1
From16
b
From154
W
From153
teta3
From151
teta2
From150
omega2
From15
a
From149
b
From148
W
From147
teta2
From146
teta3
From145
teta2
From144
omega1
From14
teta2
From136
a
From134
omega3
From133
teta3
From132
teta2
From131
teta2
From130
omega1
From13
a
From129
b
From128
teta3
From127
teta2
From126
teta2
From125
a
From124
b
From123
M2
From122
teta2
From121
omega2
From12
M1
From118
omega3
From117
b
From112
b
From111
a
From110
omega1
From11
W
From108
W
From106
teta2
From105
teta3
From101
teta2
From100
omega2
From10
[J_1]
From
1/4
Constant24
2
Constant23
2
Constant20
1/4
Constant17
Apéndice G Subsistemas en Matlab/Simulink
165
G.1.1.9 Bloque K (ecuación 2-93)
1K
cos
TrigonometricFunction9
sin
TrigonometricFunction8
sin
TrigonometricFunction7
sin
TrigonometricFunction6
sin
TrigonometricFunction5
sin
TrigonometricFunction4
sin
TrigonometricFunction18
cos
TrigonometricFunction17
sin
TrigonometricFunction16
cos
TrigonometricFunction15
sin
TrigonometricFunction14
sin
TrigonometricFunction13
sin
TrigonometricFunction12
sin
TrigonometricFunction11
cos
TrigonometricFunction10
Sum8Sum7
Sum6
Sum5
Sum4Sum3
Sum2Sum1
Sum
Product9
Product8
Product7
Product19Product18
Product17
Product16Product15
Product14Product13
Product12
Product11
Product10
u2
MathFunction9
u2
MathFunction8
u2
MathFunction7
u2
MathFunction6
u2
MathFunction21
u2
MathFunction20
u2
MathFunction19
u2
MathFunction18
u2
MathFunction17
u2
MathFunction16
u2
MathFunction15
u2
MathFunction14
u2
MathFunction13
u2
MathFunction12
u2
MathFunction10
[K_3]
Goto9
[K_2]
Goto8
[K_1]
Goto7
[K_10]
Goto17[K_11]
Goto16
[K_9]
Goto15
[K_8]
Goto14
[K_7]
Goto13
[K_6]
Goto12
[K_5]
Goto11
[K_4]
Goto10
2
Gain7
2
Gain62
Gain5
2
Gain4
2
Gain3
2
Gain22
Gain1
teta3
From8[K_11]
From78
b
From77
teta2
From76
omega1
From75
a
From74
W
From73
[K_10]
From72
[K_9]
From71
[K_8]
From70
teta3
From7
[K_7]
From69
[K_6]
From68
b
From67teta2
From66
omega1
From65
W
From64
b
From63
teta2
From62
omega1
From61
a
From60
teta3
From6
W
From59
a
From58
teta2
From57
omega1
From56
b
From55teta2
From54
omega1
From53
W
From52
M2
From51
b
From50
teta3
From5
teta2
From49
omega1
From48
a
From47
M2
From46
b
From45
teta2
From44
omega1
From43
a
From42
M2
From41
teta2
From40
teta3
From4
omega1
From39
a
From38
M2
From37
omega2
From36
omega3
From35
omega3
From34
b
From33
W
From32
a
From31
omega2
From30
teta3
From3
omega3
From29
omega3
From28
b
From27
M2
From26
teta2
From25
[K_5]
From24
omega1
From23
a
From22
[K_4]
From21
[K_3]
From20
teta3
From2
[K_2]
From19
[K_1]
From18
a
From11
M1
From10
teta3
From1
1/2
Constant9
1/2
Constant81/2
Constant7
1/2
Constant61/8
Constant5
1/2
Constant12
1/2
Constant11
1/8
Constant10
“Caracterización de un robot manipulador articulado”
166
G.1.1.10 Bloque P (ecuación 2-100)
1P
sin
TrigonometricFunction9
cos
TrigonometricFunction8
sin
TrigonometricFunction7
sin
TrigonometricFunction6
sin
TrigonometricFunction5
sin
TrigonometricFunction16
sin
TrigonometricFunction15
sin
TrigonometricFunction13
cos
TrigonometricFunction12
sin
TrigonometricFunction10
Sum7
Sum6
Sum5
Sum3
Sum2
Sum1
Sum
Product9
Product8
Product20Product19
Product18
Product17
Product16
Product15
Product14
Product13
Product11
Product10
u2
MathFunction22
u2
MathFunction21
u2
MathFunction20
u2
MathFunction19
u2
MathFunction18
u2
MathFunction15
u2
MathFunction14
u2
MathFunction12
[P_2]
Goto9
[P_1]
Goto8
[P_6]
Goto16
[P_5]
Goto15
[P_4]
Goto13
[P_8]
Goto12
[P_3]
Goto11
[P_7]
Goto10
2
Gain7
2
Gain5
[a]
From80
[teta3]
From8
[b]
From79
[omega3]
From78
[omega2]
From77
[a]
From76
[b]
From75
[omega3]
From74
[omega2]
From73
[P_8]
From70
[teta3]
From7
[P_7]
From69
[P_6]
From68
[b]
From67[teta2]
From66
[omega1]
From65
[W]
From64
[b]
From63
[teta2]
From62
[omega1]
From61
[a]
From60
[teta3]
From6
[W]
From59
[W]
From56
[b]
From55[teta2]
From54
[omega1]
From53
[M2]
From52
[M2]
From51
[teta3]
From5
[b]
From45
[teta2]
From44
[omega1]
From43
[a]
From42
[M2]
From41
[teta3]
From4
[omega2]
From36
[omega3]
From35
[b]
From33
[W]
From32
[a]
From31
[omega2]
From30
[teta3]
From3
[omega3]
From29
[b]
From27
[M2]
From26
[P_5]
From24
[P_4]
From21
[P_3]
From20
[teta3]
From2
[P_2]
From19
[P_1]
From18
[a]
From11
[teta3]
From1
1/2
Constant8
1/2
Constant6
1/2
Constant13
1/2
Constant12
1/8
Constant10
Apéndice G Subsistemas en Matlab/Simulink
167
G.1.1.11 Bloque N (ecuación 2-94)
1N
cos
TrigonometricFunction5
cos
TrigonometricFunction4
cos
TrigonometricFunction3
cos
TrigonometricFunction2
cos
TrigonometricFunction1
Sum2
Sum1
Sum
Product4
Product3
Product2
Product1
Product
[N_5]
Goto4
[N_4]
Goto3
[N_3]
Goto2
[N_2]
Goto1
[N_1]
Goto
[M2]
From9
[teta2]
From8
[a]
From7
[g]
From6
[M2]
From5
[teta2]
From4
[a]
From3
[N_5]
From27
[N_2]
From25[N_3]
From24[N_4]
From23
[W]
From22
[teta3]
From21
[teta2]
From20
[g]
From2
[b]
From19
[g]
From18
[teta2]
From17
[a]
From16
[g]
From15
[W]
From14
[teta3]
From13
[teta2]
From12
[b]
From11
[g]
From10
[M1]
From1
[N_1]
From
1/2
Constant2
1/2
Constant1
G.1.1.12 Bloque O (ecuación 2-101)
1O
cos
TrigonometricFunction5
cos
TrigonometricFunction3
Sum2
Sum1
Sum
Product4
Product2
[O_2]
Goto4
[O_1]
Goto2
[M2]
From9
[O_2]
From25[W]
From22
[teta3]
From21
[teta2]
From20
[b]
From19
[g]
From18
[teta3]
From13
[teta2]
From12
[b]
From11
[g]
From10
[O_1]
From
1/2
Constant2
“Caracterización de un robot manipulador articulado”
168
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
1INERCIAS
Product7
Product6
Product5
Product4
Product3
Product2
Product1
u2
MathFunction5
u2
MathFunction4
u2
MathFunction3
u2
MathFunction2
u2
MathFunction1
[W]
From9
[b]
From8
[M2]
From7
[b]
From6
[a]
From5
[M2]
From4
[a]
From3
[M2]
From2
[W]
From15
[b]
From14
[b]
From13
[a]
From12
[W]
From11
[a]
From10
[a]
From1
[M1]
From
2
Constant2
1/4
Constant1
1/4
Constant
Apéndice G Subsistemas en Matlab/Simulink
169
G.2.1.2 Gravitacionales
1GRAVITACIONALES
cos
TrigonometricFunction2
cos
TrigonometricFunction1
cos
TrigonometricFunction Product9Product8
Product10
1/2
Gain
[b]
From29
[teta]
From28
[g]
From27
[a]
From26
[W]
From25
[b]
From24
[teta]
From23
[g]
From22
[a]
From21
[M2]
From20
[teta]
From19
[g]
From17
[a]
From1
[M1]
From
1/2
Constant
G.2.2 Péndulo horizontal G.2.2.1 Inercias
1 INERCIAS
0
suma de masas1
0.10
radio de giro base1
1/4
constante4
1/4
constante3
Product9
Product8
Product7
Product6
Product5
Product4
|u|2
MathFunction4
|u|2
MathFunction3
|u|2
MathFunction2
2
Gain2
[W]
From71
[M2]
From70
[M1]
From69
[b]
From59
[Mb]
From16
“Caracterización de un robot manipulador articulado”
170
G.3 Robot planar G.3.1 Bloque A_2.
1A_2
cos
TrigonometricFunction2
cos
TrigonometricFunction1
Product6
Product5
Product4
Product3
Product2
Product1
u2
MathFunction5
u2
MathFunction4
u2
MathFunction2
u2
MathFunction1
1/2
Gain2
1/4
Gain1
1/4
Gain
[teta33]
From8
[b]
From7
[a]
From6
[M2]
From5
[b]
From4
[M2]
From3
[a]
From2
[b]
From17
[W]
From16
[W]
From15
[b]
From14
[a]
From13
[teta33]
From12
[a]
From11
[W]
From10
[M2]
From1
[M1]
From
2
Constant4
2
Constant1
G.3.2 Bloque B_2
1B_2
cos
TrigonometricFunction1
Product3
Product2
u2
MathFunction2
1/4
Gain3
1/2
Gain2
[teta33]
From8
[b]
From7
[a]
From6
[b]
From4
[W]
From15
[M2]
From14
[W]
From13
[M2]
From12
Apéndice G Subsistemas en Matlab/Simulink
171
G.3.3 Bloque E_2
1E_2
sin
TrigonometricFunction1
Sum3
Product4 Product3
u2
MathFunction3
1/2
Gain5
-1
Gain22
Gain1
[omega33]
From9
[teta33]
From8
[b]
From7
[M2]
From4
[W]
From37
[a]
From3[omega22]
From10
G.3.4 Bloque G_2
1G_2
cos
TrigonometricFunction5
cos
TrigonometricFunction4
cos
TrigonometricFunction2
cos
TrigonometricFunction1
Sum4
Product6
Product5
Product4
Product3
1/2
Gain1
1/2
Gain
[teta22]
From8
[M2]
From5
[M1]
From4
[W]
From26
[teta33]
From25
[teta22]
From24
[b]
From23
[g]
From22
[teta22]
From21
[a]
From20
[g]
From19
[W]
From18
[M2]
From17
[teta33]
From16
[teta22]
From15
[b]
From14
[g]
From13
[a]
From12
[g]
From11
“Caracterización de un robot manipulador articulado”
172
G.3.5 Bloque C_2
1C_2
cos
TrigonometricFunction1
Product3
Product2
u2
MathFunction2
1/4
Gain3
1/2
Gain2
[teta33]
From8
[b]
From7
[a]
From6
[b]
From4
[W]
From15
[M2]
From14
[W]
From13
[M2]
From12
G.3.6 Bloque D_2
1D_2Product2
u2
MathFunction2
1/4
Gain3
[b]
From4
[W]
From15
[M2]
From14
Apéndice G Subsistemas en Matlab/Simulink
173
G.3.7 Bloque F_2
1F_2
sin
TrigonometricFunction1
Product3
u2
MathFunction3
1/2
Gain3
[omega22]
From9
[teta33]
From8
[b]
From7
[a]
From3
[W]
From15
[M2]
From14
G.3.8 Bloque H_2
1H_2
cos
TrigonometricFunction2
Product61/2
Gain3
[W]
From19
[M2]
From18
teta33]
From16
[teta22]
From15
[b]
From14
[g]
From13
“Caracterización de un robot manipulador articulado”
174
Apéndice H
ENGRANES
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.
L
Apéndice H Engranes
175
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
“Caracterización de un robot manipulador articulado”
176
del espacio entre dos dientes consecutivos y el grueso del diente del otro engrane, medidos sobre la circunferencia de paso.
dNP H-1
Donde:
P = paso diametral, dientes por unidad de longitud N = número de dientes d = diámetro de paso
Ndm H-2
Donde: m = módulo d = diámetro de paso
mNdp SS H-3
por lo que: S 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:
Apéndice H Engranes
177
2
1
NNmV H-5
5
1
5
4
4
3
3
2
2
1
NN
NN
NN
NN
NNmV ¸̧
¹
·¨̈©
§�¸̧
¹
·¨̈©
§�¸̧
¹
·¨̈©
§�¸̧
¹
·¨̈©
§� H-6
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
Z�
N1
1 2
N2
Z�
Figura H-2 Tren simple de engranes.
Z�
N1
1 2
Z�
N2 N4 N5 N3
3 4 5
Figura H-3 Tren simple en serie de engranes.
“Caracterización de un robot manipulador articulado”
178
misma flecha y, por lo tanto, tienen la misma velocidad angular. La razón de tren resulta ahora:
¸̧¹
·¨̈©
§�¸̧
¹
·¨̈©
§�
3
2
2
1
NN
NNmV H-7
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
N1
2
N2
N3 N4
Zentrada Zsalida
1
3 4
Flecha de salida
Flecha de entrada
Figura H-4 Tren compuesto de engranes.
Apéndice H Engranes
179
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.
(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
P R
P P
S
Anillo
Planeta
Sol
Brazo
P R
S
A
“Caracterización de un robot manipulador articulado”
180
donde nF = velocidad (rpm) del primer engrane del tren planetario nL = velocidad del último engrane del tren
nA = velocidad del brazo [Juvinall 99]
Figura H-6 Engranaje planetario simple.
2
Brazo rotatorio
4
5
Apéndice I Prácticas
181
Apéndice I
PRÁCTICAS
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).
L
“Caracterización de un robot manipulador articulado”
182
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:
x 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.
x 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.
x 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
Apéndice I Prácticas
183
Desarrollo:
x Leer el capítulo 3 del manual 100094-b OpenCIM152. (3 págs.) x Leer del capítulo 1 del manual 100016-c ER_Vplus págs.1-4, 1-5 y 1-6 (3 págs.)
x Leer el capítulo 2 del manual 100016-c ER_Vplus (págs. 2-2, 2-3, 2-4). (3 págs.)
x 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.
“Caracterización de un robot manipulador articulado”
184
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:
x 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).
x 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:
x 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).
x Poner el interruptor del no-break en posición de “ON”. x Encender el interruptor del controlador ubicado en la parte lateral derecha del
mismo controlador (caja negra). x 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).
Apéndice I Prácticas
185
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:
x 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.
x Deshabilitar los motores por medio del botón “motors” ubicado en la parte frontal del controlador.
x Apagar el interruptor del controlador ubicado en la parte lateral derecha del mismo controlador (caja negra).
x Poner el interruptor del no-break en posición de “OFF”. x 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.
“Caracterización de un robot manipulador articulado”
186
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:
x 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
Apéndice I Prácticas
187
Desarrollo:
x 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)
x Apagar el sistema.
Feeder 1
Feeder 2Rack
ASR
S1 3 5 7 9
2 4 6 8 10
ROBOTScorbot-ER V plus
Buffers1 2
Banda transportadora
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.
“Caracterización de un robot manipulador articulado”
188
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:
x 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:
x 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.
Apéndice I Prácticas
189
x 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>
x Comando de control de programa (pág. 1-10). o Run <prac2> o A (Probar este comando cuando se esté ejecutando prac2)
x 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
x Comando informativos (pág. 1-18 a la 1-19). o Dir o Ver o Free o List < prac2> o Listp o Listpv <203>
x Comandos de interfase para el usuario y la pantalla (pág. 1-20). o Help o Do help
x 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.
“Caracterización de un robot manipulador articulado”
190
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:
x 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:
x 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
Apéndice I Prácticas
191
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).
x Apagar el sistema.
“Caracterización de un robot manipulador articulado”
192
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.
Apéndice I Prácticas
193
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:
x 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:
x 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)
“Caracterización de un robot manipulador articulado”
194
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.
x 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.
Apéndice I Prácticas
195
R E S P U E S T A S
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
“Caracterización de un robot manipulador articulado”
196
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.