• No se han encontrado resultados

Desarrollo de un Simulador Cinemático para un Robot Tipo Insecto

N/A
N/A
Protected

Academic year: 2020

Share "Desarrollo de un Simulador Cinemático para un Robot Tipo Insecto"

Copied!
139
0
0

Texto completo

(1)I NSTITUTO T ECNOL ÓGICO Y DE E STUDIOS S UPERIORES DE M ONTERREY C AMPUS M ONTERREY D IVISI ÓN DE I NGENIER ÍA Y A RQUITECTURA P ROGRAMA DE G RADUADOS EN I NGENIER ÍA. D ESARROLLO DE UN S IMULADOR C INEM ÁTICO PARA UN ROBOT TIPO I NSECTO. TESIS P RESENTADA COMO R EQUISITO PARCIAL PARA OBTENER EL G RADO ACAD ÉMICO DE M AESTRO EN C IENCIAS E SPECIALIDAD EN I NGENIER ÍA M EC ÁNICA C ARLOS A LBERTO B ERARDI G ONZ ÁLEZ M AYO DEL 2001.

(2) c Carlos Alberto Berardi González. 2001..

(3) I NSTITUTO T ECNOL ÓGICO Y DE E STUDIOS S UPERIORES DE M ONTERREY C AMPUS M ONTERREY D IVISI ÓN DE I NGENIER ÍA Y A RQUITECTURA P ROGRAMA DE G RADUADOS EN I NGENIER ÍA Los miembros del comité de tesis recomendamos que la presente tesis del Ing. Carlos Alberto Berardi González sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias con especialidad en: I NGENIER ÍA M EC ÁNICA Comité de Tesis:. Dr. Horacio Martı́nez Alfaro Asesor de la tesis. M. C. Octavio E. Herrera Giammattei Sinodal. M. C. Jesús Santana Blanco Sinodal. A PROBADO. Dr. Federico Viramontes Brown Director del Programa de Graduados en Ingenierı́a Mayo del 2001.

(4)

(5) A mis padres, Carlos y Olga Elvia. A mis abuelos, Jesús (  ) y Consuelo. A mi hermana, Olga Alicia..

(6)

(7) Reconocimientos Agradezco al Dr. Horacio Martı́nez Alfaro, mi asesor, por el apoyo y dedicación que me brindó para la realización de esta tesis. A mis sinodales: M. C. Octavio E. Herrera Giammattei y M. C. Jesús Santana Blanco, por su apoyo y sugerencias. Al Departamento de Ingenierı́a Mecánica del ITESM, Campus Monterrey, por su confianza y apoyo para estudiar esta Maestrı́a en Ciencias. A mis compañeros y amigos de estudio y trabajo: Armando, Dan, Ricardo, Manuel, Jesús, Ismael y Blanca. Por todos los momentos compartidos. A mis compañeros y amigos de generación de IMA 1998, por apoyarme durante mis estudios de posgrado. A mis amigos Andrés, Luis y Roberto, por apoyarme incondicionalmente en la realización de esta tesis.. C ARLOS A LBERTO B ERARDI G ONZ ÁLEZ. Instituto Tecnológico y de Estudios Superiores de Monterrey Mayo del 2001. vii.

(8)

(9) Desarrollo de un Simulador Cinemático para un Robot tipo Insecto Carlos Alberto Berardi González, M. C. Instituto Tecnológico y de Estudios Superiores de Monterrey, 2001.. Asesor de la tesis: Dr. Horacio Martı́nez Alfaro.. En esta tesis se desarrolla un simulador gráfico, flexible, interactivo y sistemático para evaluar patrones de movimiento predeterminados en un robot tipo insecto mediante cinemática directa utilizando la representación de Denavit-Hartenberg; estos patrones a su vez se generan mediante etapas de movimiento que hacen que cada articulación pase de un valor articular a otro mediante una interpolación de splines cúbicos. En función del detalle con que se planteen las etapas de movimiento puede presentarse un pequeño error al mantener los puntos de contacto con el suelo fijos durante la interpolación entre etapas; sin embargo, este error es independiente del funcionamiento del simulador en sı́. Adicionalmente el simulador cuenta con un módulo de análisis dinámico para evaluar las fuerzas y pares mı́nimos necesarios para efectuar el movimiento al considerar que el robot se encuentra fijo o “flotado” en el espacio, es decir, la base carga con el peso de todas las patas. Para corregir esto es necesario replantear el algoritmo de Lagrange-Euler utilizado en este módulo.. ix.

(10)

(11) Índice General 1 Introducción 1.1 Historia de la robótica . . . . . . 1.2 Morfologı́a del robot tipo insecto 1.3 Justificación . . . . . . . . . . . 1.4 Hipótesis . . . . . . . . . . . . 1.5 Objetivo general . . . . . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 1 1 1 2 2 2. 2 Localización de sólidos en el espacio 2.1 Descripción general de la herramienta matemática a utilizar . . . . . . 2.2 Descripción de las coordenadas y matrices homogéneas . . . . . . . . 2.3 Uso de las matrices homogéneas de transformación . . . . . . . . . . 2.3.1 Traslación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Rotación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 Traslación y rotación . . . . . . . . . . . . . . . . . . . . . . 2.3.4 Interpretación de las matrices homogéneas de transformación. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 5 5 5 6 6 7 7 8. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 3 Cinemática del robot 3.1 Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Representación de Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Algoritmo de Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . . . 3.2.2 Determinación de los parámetros de Denavit-Hartenberg para el robot tipo insecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Interpolación de movimiento utilizando splines cúbicos . . . . . . . . . . . . . . 3.3.1 Formulación de ecuaciones para la interpolación mediante splines cúbicos 3.3.2 Solución del sistema de ecuaciones para la interpolación mediante splines cúbicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Determinación del ángulo  para mantener el punto de contacto fijo . . . . . . . 3.5 Determinación del ángulo  para mantener avance constante entre patas . . . . . 3.6 Generación de los patrones ejemplo de movimiento . . . . . . . . . . . . . . . . 3.6.1 Patrón de movimiento 0 - posición inicial . . . . . . . . . . . . . . . . . 3.6.2 Patrón de movimiento 1 - camina sobre suelo horizontal . . . . . . . . . 3.6.3 Patrón de movimiento 2 - sube escaleras . . . . . . . . . . . . . . . . . . 3.6.4 Patrón de movimiento 3 - baja escaleras . . . . . . . . . . . . . . . . . . 3.6.5 Patrón de movimiento 4 - da vuelta a la izquierda . . . . . . . . . . . . .. xi. 11 . 11 . 12 . 13 . 14 . 18 . 19 . . . . . . . . .. 22 23 24 25 27 27 30 45 59.

(12) 4 Análisis dinámico 4.1 Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Formulación de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Algoritmo de Lagrange-Euler . . . . . . . . . . . . . . . . . . . 4.2.2 Determinación de los parámetros dinámicos del robot tipo insecto. . . . .. . . . .. 63 63 64 64 66. 5 Desarrollo del simulador 5.1 OpenGL  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Descripción general de OpenGL  . . . . . . . . . . . . . . . . . . . . 5.1.2 Utilización de OpenGL  para esta tesis . . . . . . . . . . . . . . . . . 5.1.3 Vectores de origen y terminación de cada cuerpo para cada pata del robot 5.2 Interacción disponible para el usuario . . . . . . . . . . . . . . . . . . . . . . . 5.3 Programación del simulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Lenguaje de programación . . . . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Archivos adicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . .. 69 69 69 69 71 72 73 73 73. . . . . . . . . . . . .. 75 75 75 77 80 82 84 87 87 91 94 97 100. . . . .. . . . .. . . . .. 6 Resultados 6.1 Resultados de la simulación cinemática de los patrones ejemplo de movimiento 6.1.1 Patrón 0 - posición inicial . . . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Patrón 1 - camina sobre suelo horizontal . . . . . . . . . . . . . . . . . 6.1.3 Patrón 2 - sube escaleras . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.4 Patrón 3 - baja escaleras . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.5 Patrón 4 - da vuelta a la izquierda . . . . . . . . . . . . . . . . . . . . 6.2 Resultados del módulo de análisis dinámico . . . . . . . . . . . . . . . . . . . 6.2.1 Patrón 0 - posición inicial . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Patrón 1 - camina sobre suelo horizontal . . . . . . . . . . . . . . . . . 6.2.3 Patrón 2 - sube escaleras . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.4 Patrón 3 - baja escaleras . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.5 Patrón 4 - da vuelta a la izquierda . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . .. 7 Conclusiones y trabajo futuro 103 7.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 7.2 Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A Contenido del disco compacto. 105. B Archivos de datos de entrada 107 B.1 Archivo dh input.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 B.2 Archivo inertia input.txt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 C Licencia para el público en general GNU. 115. xii.

(13) Índice de Figuras 1.1. Diagrama idealizado del robot tipo insecto a simular. . . . . . . . . . . . . . . . .. 2.1 2.2. Sistema Sistema.  . trasladado a partir de  . . . . . . . . . . . . . . . . . . . . rotado a partir de  . . . . . . . . . . . . . . . . . . . . . .. 3.1 3.2 3.3 3.4 3.5 3.6. Cinemática inversa y directa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Significado fı́sico de los parámetros de Denavit-Hartenberg. . . . . . . . . . . . . Diagrama idealizado del robot tipo insecto a simular con numeración de patas. . . . Acercamiento de la pata 1, vista 1. . . . . . . . . . . . . . . . . . . . . . . . . . . Acercamiento de la pata 1, vista 2. . . . . . . . . . . . . . . . . . . . . . . . . . . Diagrama idealizado de la pata 1 con ejes coordenados y numeración de articulaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Diagrama idealizado de la pata 1 con numeración de cuerpos y longitud de eslabones. 3.8 Gráfica ejemplo para interpolación en subintervalos mediante splines cúbicos. . . . 3.9 Diagrama de flujo generalizado con las operaciones a seguir en el simulador. . . . 3.10 Diagrama esquemático para determinar el avance angular de cada pata al dar vuelta a la izquierda alrededor de un eje de giro. . . . . . . . . . . . . . . . . . . . . . .. 3 7 8 11 12 15 15 16 17 17 19 26 59. 4.1. Dinámica inversa y directa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64. 5.1. Diagrama de flujo generalizado de la subrutina de dibujo. . . . . . . . . . . . . . . 70. 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14. Simulación del patrón 0, vista 1. Simulación del patrón 0, vista 2. Simulación del patrón 0, vista 3. Simulación del patrón 1, vista 1. Simulación del patrón 1, vista 2. Simulación del patrón 1, vista 3. Simulación del patrón 1, vista 4. Simulación del patrón 2, vista 1. Simulación del patrón 2, vista 2. Simulación del patrón 2, vista 3. Simulación del patrón 2, vista 4. Simulación del patrón 3, vista 1. Simulación del patrón 3, vista 2. Simulación del patrón 3, vista 3.. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. xiii. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. . . . . . . . . . . . . . .. 75 76 76 77 78 78 79 80 80 81 81 82 82 83.

(14) 6.15 6.16 6.17 6.18 6.19 6.20 6.21 6.22 6.23 6.24 6.25 6.26 6.27 6.28 6.29 6.30 6.31 6.32 6.33 6.34 6.35 6.36 6.37 6.38 6.39 6.40 6.41 6.42 6.43 6.44 6.45 6.46 6.47 6.48 6.49. Simulación del patrón 3, vista 4. . . . . . . . . . . . Simulación del patrón 4, vista 1. . . . . . . . . . . . Simulación del patrón 4, vista 2. . . . . . . . . . . . Simulación del patrón 4, vista 3. . . . . . . . . . . . Simulación del patrón 4, vista 4. . . . . . . . . . . . Fuerzas y pares generalizados para el patrón 0, pata 1. Fuerzas y pares generalizados para el patrón 0, pata 2. Fuerzas y pares generalizados para el patrón 0, pata 3. Fuerzas y pares generalizados para el patrón 0, pata 4. Fuerzas y pares generalizados para el patrón 0, pata 5. Fuerzas y pares generalizados para el patrón 0, pata 6. Fuerzas y pares generalizados para el patrón 1, pata 1. Fuerzas y pares generalizados para el patrón 1, pata 2. Fuerzas y pares generalizados para el patrón 1, pata 3. Fuerzas y pares generalizados para el patrón 1, pata 4. Fuerzas y pares generalizados para el patrón 1, pata 5. Fuerzas y pares generalizados para el patrón 1, pata 6. Fuerzas y pares generalizados para el patrón 2, pata 1. Fuerzas y pares generalizados para el patrón 2, pata 2. Fuerzas y pares generalizados para el patrón 2, pata 3. Fuerzas y pares generalizados para el patrón 2, pata 4. Fuerzas y pares generalizados para el patrón 2, pata 5. Fuerzas y pares generalizados para el patrón 2, pata 6. Fuerzas y pares generalizados para el patrón 3, pata 1. Fuerzas y pares generalizados para el patrón 3, pata 2. Fuerzas y pares generalizados para el patrón 3, pata 3. Fuerzas y pares generalizados para el patrón 3, pata 4. Fuerzas y pares generalizados para el patrón 3, pata 5. Fuerzas y pares generalizados para el patrón 3, pata 6. Fuerzas y pares generalizados para el patrón 4, pata 1. Fuerzas y pares generalizados para el patrón 4, pata 2. Fuerzas y pares generalizados para el patrón 4, pata 3. Fuerzas y pares generalizados para el patrón 4, pata 4. Fuerzas y pares generalizados para el patrón 4, pata 5. Fuerzas y pares generalizados para el patrón 4, pata 6.. xiv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 83 84 85 85 86 87 88 88 89 89 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102.

(15) Índice de Tablas 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.27 3.28 3.29 3.30 3.31 3.32 3.33 3.34 3.35. Parámetros de Denavit-Hartenberg para todas las patas del robot tipo insecto. Longitud de los eslabones de las patas. . . . . . . . . . . . . . . . . . . . . . Ángulo  para las  patas del robot tipo insecto. . . . . . . . . . . . . . . . Patrón 0 - Valores articulares para cada articulación de cada pata. . . . . . . . Patrón 1, etapa 1 - Valores articulares para cada articulación de cada pata. . . Patrón 1, etapa 2 - Valores articulares para cada articulación de cada pata. . . Patrón 1, etapa 3 - Valores articulares para cada articulación de cada pata. . . Patrón 1, etapa 4 - Valores articulares para cada articulación de cada pata. . . Definición de variables auxiliares para el patrón de movimiento 2. . . . . . . Patrón 2, etapa 1 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 2 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 3 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 4 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 5 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 6 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 7 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 8 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 9 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 10 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 11 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 12 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 13 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 14 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 15 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 16 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 17 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 18 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 19 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 20 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 21 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 22 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 23 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 24 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 25 - Valores articulares para cada articulación de cada pata. . . Patrón 2, etapa 26 - Valores articulares para cada articulación de cada pata. . . xv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 16 16 18 27 28 28 29 29 30 31 31 32 32 32 32 33 33 33 33 34 34 34 34 35 35 35 36 36 36 36 37 37 37 37 38.

(16) 3.36 3.37 3.38 3.39 3.40 3.41 3.42 3.43 3.44 3.45 3.46 3.47 3.48 3.49 3.50 3.51 3.52 3.53 3.54 3.55 3.56 3.57 3.58 3.59 3.60 3.61 3.62 3.63 3.64 3.65 3.66 3.67 3.68 3.69 3.70 3.71 3.72 3.73 3.74 3.75 3.76 3.77 3.78 3.79. Patrón 2, etapa 27 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 28 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 29 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 30 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 31 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 32 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 33 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 34 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 35 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 36 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 37 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 38 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 39 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 40 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 41 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 42 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 43 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 44 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 45 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 46 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 47 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 48 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 49 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 50 - Valores articulares para cada articulación de cada pata. . Patrón 2, etapa 51 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 1 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 2 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 3 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 4 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 5 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 6 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 7 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 8 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 9 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 10 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 11 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 12 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 13 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 14 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 15 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 16 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 17 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 18 - Valores articulares para cada articulación de cada pata. . Patrón 3, etapa 19 - Valores articulares para cada articulación de cada pata. . xvi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 38 38 38 39 39 39 40 40 40 41 41 41 41 42 42 42 42 43 43 43 43 44 44 44 44 45 45 46 46 46 46 47 47 47 47 48 48 48 48 49 49 49 49 50.

(17) 3.80 Patrón 3, etapa 20 - Valores articulares para cada articulación de cada pata. . 3.81 Patrón 3, etapa 21 - Valores articulares para cada articulación de cada pata. . 3.82 Patrón 3, etapa 22 - Valores articulares para cada articulación de cada pata. . 3.83 Patrón 3, etapa 23 - Valores articulares para cada articulación de cada pata. . 3.84 Patrón 3, etapa 24 - Valores articulares para cada articulación de cada pata. . 3.85 Patrón 3, etapa 25 - Valores articulares para cada articulación de cada pata. . 3.86 Patrón 3, etapa 26 - Valores articulares para cada articulación de cada pata. . 3.87 Patrón 3, etapa 27 - Valores articulares para cada articulación de cada pata. . 3.88 Patrón 3, etapa 28 - Valores articulares para cada articulación de cada pata. . 3.89 Patrón 3, etapa 29 - Valores articulares para cada articulación de cada pata. . 3.90 Patrón 3, etapa 30 - Valores articulares para cada articulación de cada pata. . 3.91 Patrón 3, etapa 31 - Valores articulares para cada articulación de cada pata. . 3.92 Patrón 3, etapa 32 - Valores articulares para cada articulación de cada pata. . 3.93 Patrón 3, etapa 33 - Valores articulares para cada articulación de cada pata. . 3.94 Patrón 3, etapa 34 - Valores articulares para cada articulación de cada pata. . 3.95 Patrón 3, etapa 35 - Valores articulares para cada articulación de cada pata. . 3.96 Patrón 3, etapa 36 - Valores articulares para cada articulación de cada pata. . 3.97 Patrón 3, etapa 37 - Valores articulares para cada articulación de cada pata. . 3.98 Patrón 3, etapa 38 - Valores articulares para cada articulación de cada pata. . 3.99 Patrón 3, etapa 39 - Valores articulares para cada articulación de cada pata. . 3.100Patrón 3, etapa 40 - Valores articulares para cada articulación de cada pata. . 3.101Patrón 3, etapa 41 - Valores articulares para cada articulación de cada pata. . 3.102Patrón 3, etapa 42 - Valores articulares para cada articulación de cada pata. . 3.103Patrón 3, etapa 43 - Valores articulares para cada articulación de cada pata. . 3.104Patrón 3, etapa 44 - Valores articulares para cada articulación de cada pata. . 3.105Patrón 3, etapa 45 - Valores articulares para cada articulación de cada pata. . 3.106Patrón 3, etapa 46 - Valores articulares para cada articulación de cada pata. . 3.107Patrón 3, etapa 47 - Valores articulares para cada articulación de cada pata. . 3.108Patrón 3, etapa 48 - Valores articulares para cada articulación de cada pata. . 3.109Patrón 3, etapa 49 - Valores articulares para cada articulación de cada pata. . 3.110Patrón 3, etapa 50 - Valores articulares para cada articulación de cada pata. . 3.111Definición de variables auxiliares para el patrón de movimiento 4. . . . . . 3.112Patrón 4, etapa 1 - Valores articulares para cada articulación de cada pata. . 3.113Patrón 4, etapa 2 - Valores articulares para cada articulación de cada pata. . 3.114Patrón 4, etapa 3 - Valores articulares para cada articulación de cada pata. . 3.115Patrón 4, etapa 4 - Valores articulares para cada articulación de cada pata. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 50 50 51 51 51 51 52 52 52 52 53 53 53 53 54 54 54 55 55 55 56 56 56 56 57 57 57 57 58 58 58 60 61 61 61 61. 4.1 4.2. Posición del centro de masa de los eslabones en todas las patas del robot tipo insecto. 67 Configuración fı́sica de los eslabones de cada una las patas. . . . . . . . . . . . . . 67. 5.1. Vectores de origen y terminación iniciales de cada cuerpo para todas las patas. . . . 71. xvii.

(18)

(19) Capı́tulo 1 Introducción 1.1. Historia de la robótica. Cada vez es mayor la cantidad de procesos (industriales y cientı́ficos) llevados a cabo mediante dispositivos electromecánicos que realizan una función especı́fica; en ocasiones, estas tareas son de naturaleza repetitiva o peligrosa, por lo que es conveniente lograr programar en el dispositivo los pasos o movimientos a efectuar para asegurar que la tarea se lleve a cabo de manera efectiva y segura. Una opción que ha tomado gran auge desde hace varios años es el uso de dispositivos reprogramables, donde es relativamente sencillo modificar los pasos o movimientos a efectuar para mover materiales, partes, herramientas o al dispositivo en sı́. Esto es en general un robot. La palabra robot fue usada por primera vez en 1921, cuando el escritor Karel Capek (Checoslovaquia) presentó su obra Rossum’s Universal Robot (R.U.R.). Su origen es la palabra robota, que significa trabajo realizado de manera forzada. Los robots de R.U.R. servı́an a sus amos humanos realizando tareas fı́sicas. Otro nombre dado a ciertos tipos de dispositivos es autómata, que se refiere a aquellos que imitan la figura y movimiento de un ser vivo [1].. 1.2. Morfologı́a del robot tipo insecto. Un robot tipo insecto puede visualizarse estructuralmente como una base unida a cadenas articuladas abiertas (en este caso las patas del robot), es decir, cadenas de eslabones rı́gidos unidos entre sı́ mediante articulaciones de revoluta o de traslación, cuyo extremo final se encuentra libre; el movimiento de las patas o cadenas articuladas abiertas es lo que moviliza al robot. El movimiento relativo que puede ocurrir en cada articulación de una pata es llamado grado de libertad, y la suma de éstos representa los grados de libertad de la pata completa, es decir, que tan flexible es para llegar a una posición y orientación deseada; el movimiento de cada articulación se realiza mediante actuadores, sensores, transmisiones y sistemas de control.. 1.

(20) 1.3. Justificación. El uso de robots tipo insecto se ha incrementado tanto en la industria (movilización de material) como en ámbitos cientı́ficos (exploración de terreno extraterrestre), siendo su principal atractivo el que pueden adaptarse a diferentes tipos de terreno con facilidad. El control cinemático de un robot de este tipo comúnmente es particular, es decir, no se hace de una manera sistemática válida para cualquier robot tipo insecto; el mismo movimiento global se puede obtener considerando que el robot está compuesto de cadenas articuladas abiertas independientes unidas a una base común, para las cuales existen algoritmos de análisis sistemáticos ampliamente utilizados.. 1.4. Hipótesis. Es posible controlar la cinemática de un robot tipo insecto de manera sistemática al considerar que cada pata es una cadena articulada abierta, para las cuales existen algoritmos sistemáticos como la representación de Denavit-Hartenberg, que sirve para representar la posición y orientación de un cuerpo en el espacio a partir de sistemas de coordenadas locales en cada cuerpo de una cadena articulada.. 1.5. Objetivo general. Desarrollar un simulador computacional gráfico que sea flexible, sistemático e interactivo para visualizar diversos patrones de movimiento predeterminados en un robot tipo insecto (Figura 1.1) compuesto por cadenas articuladas independientes unidas a una base común, donde adicionalmente sea posible efectuar un análisis dinámico sencillo (considerando condiciones ideales para todos los componentes, ası́ como que la base del robot está fija o “flotada” en el espacio, es decir, la base carga con el peso de las patas) para determinar las fuerzas y pares mı́nimos necesarios que los actuadores en las articulaciones deben ejercer.. 2.

(21) Figura 1.1: Diagrama idealizado del robot tipo insecto a simular.. 3.

(22)

(23) Capı́tulo 2 Localización de sólidos en el espacio 2.1. Descripción general de la herramienta matemática a utilizar. Para llevar a cabo la simulación descrita en la Sección 1.5 es necesario hacer uso de una herramienta matemática que logre representar la localización espacial (posición y orientación) de un objeto de manera eficaz.. 2.2. Descripción de las coordenadas y matrices homogéneas. La representación mediante coordenadas homogéneas de la localización de sólidos en un espacio n-dimensional se realiza a través de coordenadas de un espacio (n+1)-dimensional, de tal manera que un vector  "!#%$'& es representado mediante un vector )(* "(+!,-($."(& , donde ( tiene un valor arbitrario no nulo y representa un factor de escala; ası́ un vector /10323465)784:9<; , donde 2 , 7 , ; son los vectores unitarios de los ejes = ,  y  del sistema de referencia  (sistema cartesiano), se representa en coordenadas homogéneas mediante (Ecuación 2.1) [1, 2] >?. ?  ?  /. ACB. >?. !. B. @ $ (. D. B /. ? 03( ? 5E( @ 9<( (. ACB. >? B. ? 0 ?. D. B /. ACB 5. B B. (2.1). @ 9F D. A partir de la definición propuesta en la Ecuación 2.1 se presenta la matriz homogénea de transformación (una matriz de GIHJG ), que representa la transformación de un vector de coordenadas homogéneas de un sistema de coordenadas a otro (Ecuación 2.2) [1, 2]. K. /MLJN T. <OP "OP. QR<OS 039<].^ g  /XL = Y h Z\[ h Z`_ UV"OS W c-i 9 ]kj0 b [. 0Sc\d)039E]e^ a*b Zf_ lc\9m03d03n Z W. (2.2). De esta manera, se puede considerar que una matriz homogénea se compone de cuatro submatrices de diferente significado: N. <OP Matriz de rotación. 5.

(24) Qo<OS Vector de traslación T. "OP Transformación de perspectiva. UV"OS Factor de escala. Esta representación no es exclusiva del área de robótica y es comúnmente utilizada en gráficas T computacionales. Para nuestro caso consideraremos el vector renglón "OP como nulo y a UV"OS como la unidad, obteniendo (Ecuación 2.3) [1, 2] K. 2.3. <OPpQR<F OS. /MLJN q. W. 0S9E].^ /XLrYZ\[ q Zf_. arb. 0Sc\dF 0S9E].^ Z`_ W. (2.3). Uso de las matrices homogéneas de transformación. La Ecuación 2.3 representa la orientación y posición de un sistema s rotado y trasladado con respecto al sistema de referencia =t [1, 2]. Esta matriz es útil para obtener las coordenadas ( , , ) del vector  en el sistema y a partir de sus coordenadas ( , , ) en el bmu bwv bx bwz bw{ bw| sistema }s (Ecuación 2.4) [1, 2] >?. ACB B ? bwu B bwv / @ F D bwx. >?. ACB B ? bwz B bw{ @ F D bm|. ?. 2.3.1. ? K. (2.4). Traslación. Si el sistema ~ está trasladado un vector Qt/i 2"4i 734i ; con respecto al sistema =y K u v x (Figura 2.1), la matriz corresponde a una matriz homogénea de traslación (Ecuación 2.5) [1, 2] F. >? ? K. Q8&€/ @. Ası́, un vector  dado en el sistema como (Ecuación 2.6) ?. >?. F. ACB. >?. B. ? bwu B bmv / @ F D bx. ?. q. q. q. q q. q. i q q. F. q F. q. q q. q. . F. ? q @. q. ? q. AB. q. i F q. por . ACB ?> B ? B ? bwz i v bw{ iF D @ F x bm|. i iF. B. v x. , se representa en el sistema =y. ACB B B D. (2.5) D. zE{|. u. 6. B. u. >?. ACB B 4 i ? bwz t u B 4ti bw{ v @ D 4F i  bw| x /. ?. (2.6).

(25) Z ‚. r. ƒ!.$. ‚o„. O. j3(. W. Y. O’. ƒ!$. V. X. U . Figura 2.1: Sistema. 2.3.2. trasladado a partir de = .. Rotación. Si el sistema =† está rotado con respecto al sistema =t (Figura 2.2), se pueden definir tres matrices homogéneas de rotación, una para cada tipo de rotación sencilla alrededor de los ejes = (Ecuación 2.7),  (Ecuación 2.8) y  (Ecuación 2.9) [1, 2]. F. >? ?. ? q K. ‡8-ˆ‰&I/. q @ q. q Šw‹PŒ ˆ Œ"Ž  ˆ q. >?. Šw‹PŒ  q Œ"Ž’ @   q. q. ? K. K. “”E•–&I/. Un vector  dado en el sistema guiendo la Ecuación 2.4.. 2.3.3. >? Šm‹'Œ ? ? Œ—Ž’ • • q @ q s. Œ"Ž’ F. ? ‘%'&I/. q Œ"Ž  9. q. q zE{˜|. B B. q q. (2.8). F D. q. q AB q. q. •. cf•. Zq. (2.7). F D. q AB . q Šw‹'Œ  q. q. . por . q ACB B q B. q "Œ Ž   ˆ Šm‹'Œ ˆ q. q. F. B. q. B. (2.9). F D. se representarı́a en el sistema. . si-. Traslación y rotación. Como se mencionó en la Sección 2.2, la ventaja del uso de matrices homogéneas es que es posible representar la traslación y orientación de un objeto en el espacio utilizando simultáneamente la 7.

(26) Z •. W. V . O. Y O’. ˆ. U X . Figura 2.2: Sistema. rotado a partir de =t .. matriz de rotación <OP y el vector de traslación Qo<OS en una sola matriz de transformación. N La traslación y rotación son transformaciones realizadas con respecto a un sistema de referencia, por lo que si se desea representar la posición y orientación de un sistema =} que originalmente coincide con el de referencia, es necesario especificar el orden de las transformaciones debido a que el producto de matrices no es conmutativo. De esta manera, una transformación compleja puede descomponerse en varias transformaciones básicas sucesivas [1, 2]. En general, pueden establecerse unas reglas básicas para la obtención de transformaciones complejas [1] ™. Si el sistema fijo = y el sistema transformado  homogénea de transformación es una matriz identidad. ™. son coincidentes, la matriz. Si el sistema =} se obtiene al aplicar rotaciones y traslaciones definidas con respecto al sistema fijo =y , la matriz homogénea que representa cada transformación se deberá premultiplicar sobre las matrices de las transformaciones previas. ™. 2.3.4. Si el sistema } se obtiene al aplicar rotaciones y traslaciones definidas con respecto al sistema móvil = , la matriz homogénea que representa cada transformación se deberá postmultiplicar sobre las matrices de las transformaciones previas.. Interpretación de las matrices homogéneas de transformación. La matriz. K. suele escribirse como (Ecuación 2.10) >? ? K /. ? _#u _,v @ _#q x. Zfu Z\v Zfq x. 0. i u. 0 0. v. qx. ACB B u B i v /XLrš q iF D x. donde 8. ›q. œq. QF W. (2.10).

(27) š › œ. Vector del eje s del sistema. s. con respecto al sistema.  .. Vector del eje  del sistema. . con respecto al sistema.  .. Vector del eje . . con respecto al sistema =C .. del sistema. Adicionalmente , y son tres vectores ortonormales, y Q es un vector que representa la š › œ posición del origen del sistema  con respecto al sistema =y [1, 2].. 9.

(28)

(29) Capı́tulo 3 Cinemática del robot 3.1. Descripción general. El robot a simular en esta tesis (Figura 1.1) consta de seis patas (unidas a un cuerpo central), donde cada pata cuenta con cuatro eslabones (y articulaciones). Sin embargo, es necesario considerar que se tienen cinco eslabones (y articulaciones) por pata para incluir el cuerpo del robot en la simulación. La cinemática del robot trata el estudio del movimiento del robot con respecto a un sistema de referencia (en este caso la base del robot tipo insecto) en función del tiempo, sin importar las fuerzas o pares actuantes en cada articulación. Ası́ mismo, puede atacarse el problema cinemático desde dos puntos de vista (Figura 3.1): Cinemática directa Se obtiene la posición y orientación del eslabón final de la cadena articulada a partir de los valores articulares. Cinemática inversa Se obtienen los valores articulares a partir de la posición y orientación del eslabón final de la cadena articulada. Cinemática directa. Valores articulares. Posición y orientación del eslabón final. Cinemática inversa Figura 3.1: Cinemática inversa y directa. Para el simulador gráfico a desarrollar en esta tesis, se utiliza la cinemática directa para establecer los valores articulares de cada cuerpo para cada pata. 11.

(30) Dado que los eslabones de un robot pueden ser rotados o trasladados con respecto a un sistema coordenado global, el movimiento espacial del actuador final puede verse como una serie de rotaciones y traslaciones de los eslabones.. 3.2. Representación de Denavit-Hartenberg. Denavit y Hartenberg (D-H) desarrollaron un algoritmo sistemático para representar la localización espacial de cada eslabón de una cadena articulada con respecto a un sistema de referencia utilizando las matrices homogéneas de transformación (Sección 2.2), siendo el algoritmo más común para modelación de cadenas articuladas independientes [1, 2]. La base de la representación de D-H es que al escoger estratégicamente los sistemas coordenados locales de cada eslabón, es posible pasar de uno a otro mediante 4 transformaciones básicas que dependen de la geometrı́a de éstos. Las transformaciones consisten en una serie de rotaciones y traslacionesF que permiten relacionar el sistema de referencia del elemento ] con el sistema del elemento ]  ; estas transformaciones son (ver Figura 3.2) 1. Rotación alrededor del eje “'’ž” un ángulo w . 2. Traslación a lo largo de “'’ž” una distancia n' . 3. Traslación a lo largo de ‡Ÿ una distancia 0' . 4. Rotación alrededor del eje ‡Ÿ un ángulo ¡ . Zi Z. i-1. Xi. di. αi. θi Y. Yi i-1. ai X. i-1. Figura 3.2: Significado fı́sico de los parámetros de Denavit-Hartenberg. Siguiendo el orden de las transformaciones se obtiene la matriz ’ž” ¢. –/. K. )“”%w£&. K. ’ž”˜¢. K q q q q K   -n¤¥& k0'¦  & ‡8% ¥&. 12. ,.

(31) y al evaluar todas las operaciones se llega a ’ž” ¢. –/. >? Šm‹'Œ Œ"Ž’ ? ? Œ"Ž  w § wŠ ‹PŒ w  w w q q @ q q. ’ž” ¢. q q. F. F. q ACB ?> B ? q B ? q. q q. F D. @. q. q q. q. q. q q. q. F. q F. n¤F  D. q. >? Šw‹PŒ Šm‹'Œ Œ"Ž’ ? ? Œ"Ž  w § Šw‹PŒ ¡Šm‹'Œ w  w  w q Œ—Ž’ @  q q. #/. F. ACB ?> B ? B ? q @. q. q. q q. q. F. q q q. F. F. ACB ?> 0' BB ?? q q q q F D @ q. q Šm‹'Œ Œ"Ž’ ¡¨ ¡ Œ—Ž’ Šw‹PŒ ¡  q q. q ACB. q. ACB Œ"Ž’ Œ"Ž  wŠ ‹'Œ ¡ w 0' w  BB Œ—Ž’ wŠ ‹'Œ "Œ Ž’  ¡ w§0' w Šw‹PŒ D  nF  ' q. B B. q q. F D. (3.1). donde w , n¤ , 0' y ¡ son los parámetros de Denavit-Hartenberg del eslabón ] .. 3.2.1. Algoritmo de Denavit-Hartenberg. Para obtener la matriz de transformación seguir el siguiente algoritmo [1, 2]. ’ž”—¢.  con los parámetros mencionados, es necesario F. 1. Numerar los eslabones comenzando con (primer eslabón móvil de la cadena) y terminar q con (último eslabón móvil). Se numera como eslabón a la base fija del robot. _. F. 2. Numerar cada articulación comenzando por tad) y terminar con .. (la correspondiente al primer grado de liber-. _. 3. Localizar el eje de cada articulación. Si ésta es de revoluta, el eje será su propio eje de giro. Si es de traslación, será el eje a lo largo del cual se produce el desplazamiento. F. q. 4. Para ] de a _. . F. colocar el eje “' sobre el eje de la articulación ]#4. .. 5. Colocar el origen del sistema de la base ©–ª en cualquier punto del eje “¤ª . Los ejes ‡¡ª e ¡ª se colocan de modo que formen un sistema dextrógiro con el eje “¤ª . F. F. 6. Para ] de a  , colocar el origen del sistema ©# en la intersección del eje “' con el eje _ F “' . Si no “'’ž” o en la intersección de la lı́nea normal común entre los ejes “' y “' ž” con el eje existiese la intersección, el origen del sistema ©# se coloca en la articulación ],4 . 7. Colocar el eje ‡Ÿ en la lı́nea normal común a los ejes “'’ž” y “' . 8. Colocar el eje Ÿ de modo que se forme un sistema dextrógiro con los ejes ‡Ÿ y “' . 9. Colocar el sistema ©#« en el extremo del robot de modo que el eje “'« coincida con la dirección del eje “'«ž” y el eje ‡Ÿ« sea normal a los ejes “'«ž” y “'« .. 13.

(32) Descripción de los parámetros de Denavit-Hartenberg Como se mencionó anteriormente, los parámetros de Denavit-Hartenberg dependen de la geometrı́a de los eslabones; la manera de obtener los parámetros es (ver Figura 3.2) [1] w Ángulo que forman los ejes ‡Ÿ ž” y ‡Ÿ medido en un plano perpendicular al eje “'’ž” , siguiendo. la regla de la mano derecha. Este es el parámetro variable en articulaciones de revoluta. n' Distancia a lo largo del eje “'’ž” desde el origen del sistema coordenado ©#’ž” hasta la intersección del eje “' ž” con el eje ‡– . Este es el parámetro variable en articulaciones de traslación. 0' Distancia a lo largo del eje ‡Ÿ medido desde la intersección del eje “'’ž” con el eje ‡– hasta el origen del sistema coordenado ©# para articulaciones de revoluta. Para articulaciones de traslación, se obtiene como la distancia más corta entre los ejes “'’ž” y “' . ¡ Ángulo entre los ejes “'’ž” y “' medido en un plano perpendicular al eje ‡– utilizando la regla. de la mano derecha. ’ž” ¢.  para reAl conocer los parámetros es posible obtener las matrices de transformación presentar el movimiento relativo entre eslabones, y dado que el pasar de un sistema a otro es una K ª%¢ «ž”¢ E¬¬¬ « se obtiene la representación transformación espacial, al hacer la multiplicación / del movimiento espacial del extremo móvil con respecto a la base del robot.. Como se menciona en la descripción de los parámetros, los valores de w y n' son los parámetros variables de las articulaciones, por lo que en general se les denomina como ­` , ­m , . . . , ­m« donde _ es el número de la articulación.. 3.2.2. Determinación de los parámetros de Denavit-Hartenberg para el robot tipo insecto. En la Figura 3.3 se muestra un diagrama idealizado de la estructura del robot tipo insecto con la numeración de las patas (1 a 6), siendo el eslabón central el mismo para todas las patas, es decir, q todas las patas se analizan como cadenas articuladas independientes con un eslabón común. En las Figuras 3.4 y 3.5 se muestra un acercamiento de la pata 1 del robot tipo insecto, a partir de las cuales se establece la forma en que se colocan los sistemas coordenados de la cadena articulada (Figura 3.6 y 3.7). Los parámetros de Denavit-Hartenberg para todas las patas se muestran en la Tabla 3.1, donde los ángulos son determinados utilizando la regla de la mano derecha. Similarmente, en la Tabla 3.2 se muestra la longitud de cada eslabón, siendo las patas iguales entre sı́. Como se menciona al principio de este capı́tulo, el robot tiene sólo 4 articulaciones móviles por pata, pero se agrega una adicional para darle un “cuerpo” al robot ya que si éste se fabricase serı́a necesario un lugar para colocar los sistemas de control, alimentación, etc. Por lo tanto, la primer articulación de cada pata se considera como fija, siendo solamente posible modificar las variables 14.

(33) Figura 3.3: Diagrama idealizado del robot tipo insecto a simular con numeración de patas.. Figura 3.4: Acercamiento de la pata 1, vista 1. articulares restantes. Dado que todas las patas del robot tienen una base común, los parámetros de Denavit-Hartenberg del resto se determinan de la misma manera que para la pata 1, variando el valor de  como se muestra en la Tabla 3.3. A partir de la información dada por las Tablas 3.1 y 3.3, se pueden obtener las matrices 15. ’ž” ¢ .

(34) Figura 3.5: Acercamiento de la pata 1, vista 2. Tabla 3.1: Parámetros de Denavit-Hartenberg para todas las patas del robot tipo insecto. arb. 0 _. cf®. 0S9E].^ Zf_. ª ¢ Zfb`¯  ˜¢  %¢  %¢³² ² ¢·¶. w  w­`—& `­wE& `­wE& ² ²  ­ & qP°. n'. 0 0 0 ². d’´4µd ¶ ¶ n )­ &. 0' d) d’. ¡ q'° q ° ± q ° ± q ° ± q'°. 0 0 0. Tabla 3.2: Longitud de los eslabones de las patas. ¸ „ h b. 1 2 3 4 5. i Z. ]. ¹€Zf_#º [. „. n» ¯. &. 0.2 0.2 0.1 0.1 0.3. 16. y0 b. h. ]¼035<d. d. d) d’ d’ ² d ¶.

(35) Figura 3.6: Diagrama idealizado de la pata 1 con ejes coordenados y numeración de articulaciones.. Figura 3.7: Diagrama idealizado de la pata 1 con numeración de cuerpos y longitud de eslabones. para cada articulación de cada pata del robot tipo insecto de acuerdo a la Ecuación 3.1. La representación de la orientación y posición del eslabón final de cada pata se obtiene de acuerdo a la Ecuación 3.2. ² K ª ¢·¶ ª ¢  ¢  ¢  ¢³² ¢·¶ / /    (3.2). 17.

(36) Tabla 3.3: Ángulo  para las  patas del robot tipo insecto. g. °  ( ). 0 0 [. 1 2 3 4 5 6. 3.3. 60 120 0 180 -60 -120. Interpolación de movimiento utilizando splines cúbicos. Como se menciona en la Sección 3.1, el simulador a desarrollar funciona en base a la cinemática directa, es decir, se dan directamente los valores articulares de cada pata para visualizar el movimiento del robot tipo insecto; en el programa, se presentan diversos patrones de movimiento a manera de ejemplo, que a su vez se componen de “etapas” con los valores articulares necesarios para producir un movimiento global determinado. La forma en que el simulador pasa de una etapa a otra en cada patrón es mediante una interpolación cúbica entre los valores articulares iniciales y finales. Un enfoque que puede usarse para obtener funciones de interpolación consiste en subdividir las etapas en pequeños intervalos y construir un polinomio para cada uno; como se mencionó anteriormente, se utilizan funciones cúbicas para realizar la interpolación en cada subintervalo, ya que ésto lleva a utilizar un polinomio de G términos, siendo diferenciable hasta la segunda derivada de manera continua [3]. En la Figura 3.8 se muestra una gráfica ejemplo de una función a interpolar en subintervalos ¿ ¾"À# . mediante splines cúbicos; para el intervalo ½ , se tiene una función ®<¾ válida para ¾*¿ [. [. [. Dada la función ejemplo mostrada en la Figura 3.8, definida en el intervalo ÁC0”%5- y un conjunto de nodos tal que 0/ ª³¿ s¿Ã¬¬w¬I¿ «Ä/Å5 , una función de interpolación cúbica ®8 & es una [ [ [ [ función que satisface las siguientes condiciones [3]: F un polinomio F 1. ® es cúbico dado por ®<¾ , válido en el subintervalo Á f¾  ¾—À#Æ para cada ½Ç/ q [ [  ¬¬¬<  . _. 2. ®<¾ ¾w& es una función ®8 & en el tiempo para cada ½/ [. [. F. q. 3. ®<¾"À#m ¾"À#—&I/È®<¾` ¾"À#˜& para cada ½/ [. [. 4. ®,¾"À#  ¾"À#—&I/È®ƒ¾  ¾"À#˜& para cada ½/ [. [. 5. ®,¾"À#  ¾"À#—&I/È®ƒ¾  ¾"À#—& para cada ½s/ [. [.  q  q. w¬¬¬< F. . F. w¬¬¬< ¬w¬¬w. q. F. . É . _. É . _ _. 6É .. 6. Se satisface una de las siguientes condiciones de frontera: 18. ¬¬¬< _. ..

(37) f(t) f1. fj+1. fj. fn-1. f0. t1. t0. t2. .... tj. tj+1. tj+2. .... t. tn. Figura 3.8: Gráfica ejemplo para interpolación en subintervalos mediante splines cúbicos. q ®ƒ ) %ª &‘/Ê®, ) ¤ « &I/ , es decir, la velocidad es constante al principio y al final. [ [ «'& , es decir, la velocidad es controlada al ®ƒ¾  ª<&V/Ë®,£ / ªE& y ®,¾  «¤&V/Ë®ƒ / [ [ [ [ [ [. ™ ™. principio y al final.. Para el simulador, se considera la segunda condición de frontera del punto 6.. 3.3.1. Formulación de ecuaciones para la interpolación mediante splines cúbicos. Se propone que la función de interpolación tenga la forma (Ecuación 3.3) [3] ®<¾P ‘ & /Ì0f¾I4µ5¾  [ [ F F q. para ½s/. . ¬¬¬<.  _. [. ¾w&¡49—¾` [.  [. . ¾m&. 4µnf¾.  [. ¾m& [. . (3.3). .. De la anterior definición, puede observarse que cuando / [. ¾ [. ®m¾` m¾ &€/Ê0f¾Í/È®´ ¾<& [ [. y al aplicar la condición Î se tiene 0f¾"À#8/È®m¾—À#m —¾ À#—&M/ [. para ½s/. q. /. . F ¬¬¬< _. ®<¾P "¾ À#—& [ 0f¾I45˜¾ —¾ À#R [ [. ¾w&¡49—¾` —¾ À#R [ [. ¾w&. . 4nf¾ "¾ À#R [. . ¾m& [. (3.4). ÏÉ .. Para simplificar las siguientes operaciones se propone Ф¾J/ por lo que la Ecuación 3.4 se convierte en 0f¾"À#I/Ê0f¾I4µ5¾mФ¾I4µ9˜¾<Ð3¾. 19. . [. 4µnf¾<Ð3¾. ¾"À#  . [. ¾ para ½/. q. F . F w¬¬¬< _. . ,. (3.5).

(38) F q. para ½s/. . F ¬¬¬<. . al definir adicionalmente que 0¤«y/Ê®8 «'& .. _. [. Al derivar la Ecuación 3.3 con respecto al tiempo, se tiene  (3.6) ® ¾  € & /Ê5¾I4ÑÉP9—¾`  ¾<& 4µÎ'nf¾`  ¾m& [ [ F [ [F [ q lo cual implica que ® ¾  ¾<&‰/Ò5¾ para cada ½Ó/ , por lo que al aplicar la condición G    ¬¬¬<  [ _ se simplifica a  (3.7) 5˜¾—À#€/Ê5˜¾84ÑÉP9˜¾<Ð3¾84µÎ'nf¾<Ф¾ F F q para cada ½/ al definir adicionalmente que 5-«y/È®  «'& .  w¬¬¬<  _ [. Similarmente, al volver a derivar la Ecuación 3.6 con respecto al tiempo, se tiene ® ¾  € & /ÈÉ9—¾´4µ'nf¾`  w¾ & (3.8) [ [ [ F F q ® ¾  ¾w&I/1ÉP9—¾ para cada ½/  ¬w¬¬m  lo cual implica que , , por lo que al aplicar la condición Ô [ _. se tiene. 9—¾—À#€/Ì9—¾84µÎ'nf¾<Ф¾. F q. para ½s/. . F ¬¬¬<. . (3.9). al definir adicionalmente que 9E«=/1®. _.  ¤ « &—Õ'É . [. Al despejar nf¾ de la Ecuación 3.9 nf¾Í/. 9˜¾"À#R69˜¾. (3.10). Î. y sustituir en las Ecuaciones 3.5 y 3.7 se tiene 0f¾"À#I/Ê0f¾I45¾wФ¾I4Êk9˜¾"À#Ÿ4ÑÉP9˜¾<&. para ½s/. q . F _. . (3.11). Î. 5¾—À#€/15¾I4Êk9˜¾"À#Ÿ4µ9˜¾<&"Ф¾ F. ¬¬¬<. . Ф¾. (3.12). .. Al despejar 5¾ de la Ecuación 3.11 se tiene 5¾Í/ F. 0f¾—À#´:0`¾ Ф¾. Ìk9˜¾"À#Ÿ4ÑÉP9˜¾<&. Ф¾. (3.13). Î. o al reducir el ı́ndice en 5¾%ž”€/. 0f¾Ö:0`¾%ž” Ф¾Ež”. Ìk9˜¾84ÑÉ9—¾%ž”—&. Ф¾Ež”. (3.14). Î F. Al sustituir las Ecuaciones 3.13 y 3.14 en la Ecuación 3.12 con el ı́ndice reducido en , se tiene Ф¾Ež”˜9˜¾Ež”Ÿ4ÑÉ.¼Ð¤¾Ež”Ÿ4ÑФ¾<&—9˜¾I4µÐ3¾<9˜¾"À#8/×)0`¾—À#RÏ0`¾m&. 20. ΠФ¾. Ìk0f¾Ö60f¾Ež”˜&. ΠФ¾Ež”. (3.15).

(39) para ½s/. q. F . F ¬¬¬< _. . .. Al aplicar la segunda condición de frontera del punto 6, y al relacionar el que ®, ¾w&Í/Ø5¾ con [ la Ecuación 3.13 se tiene ® . / [. [. 0e´Ï0¤ª. ª<&€/Ê5%ªÍ/. o al despejar. Ðeª Î. É'Ðeª%9Eª84µÐ”ª-9\€/. Ðeª. Дª . Î. ¼ÉP9Eª849\˜&. k0.RÏ0¤ª<&´6Τ®  [. / [. (3.16). ª<&. (3.17). lo que constituye una de las condiciones de frontera iniciales para resolver el sistema. Similarmente, al relacionar el que ®,£ «'&‰/Ø5%« con la Ecuación 3.12 con el ı́ndice reducido en [ 1 se tiene (3.18) ®  / «'&I/15-«y/15-«ž”Ÿ4ÑÐ.«ž”w)9E«`ž”Ÿ4µ9%«¤& [. [. y al sustituir en ésta la Ecuación 3.14 se tiene ®  [. / [. 0¤«Ï0¤«`ž”. «'&‘/. Ð.«ž” 4. Ð.«ž”. Î. o al despejar Ð.«ž”—9%«ž”Ÿ4ÑÉPÐe«`ž”˜9%«y/ÊΤ®  [. /. «3&´ [. )9E«`ž”Ÿ4ÑÉP9%«¤& Î Ðe«`ž”. (3.19). k0'« 60'«`ž”"&. (3.20). lo cual constituye la segunda condición de frontera para resolver el sistema. Con esto se puede armar una matriz Ù tal que, >?. ? ' ? É Ðeª ? Ðeª ? ? q ?. ÙÊ/. ? @. ¬¬¬ q q. Ð ª e É.¼ÐeªR4ÑÐ#"& Ð# ¬¬w¬ q q. un vector 5 tal que, >? ? ? ?. y un vector  ,. Ð  – Ée¼Ð#Ÿ4ÑÐe<& ¬w¬¬ q q. q q ¬w¬¬ q q q ¬w¬¬ q q Ðe ¬w¬¬ ¬¬¬Ú¬w¬¬ ¬¬¬ ¬¬¬ q ¬w¬¬ÒÐ.«žSÛÉe¼Ð.«žSR4µÐe«`ž”"& q q ¬w¬¬ Ð.«ž”. ?. ?. q. ACB q B. q. ACB B B B B B B. EÜ  Ý k 0.RÏ0¤ª<&´6Τ®,£ / ªE& [ ÜÞ Ü Ý [ k¤ 0 €Ï0e"&´ k0.8Ï0¤ªE& ?. 5Í/. q. .. ..    0'«`ž”"&´ Ü ß žS k0'«`ž”´Ï0'«`žSE& D @ ÜEß<àÞ k 0'« 6  Τ®  / «'&´ Ü<ßEàPÞ )0¤«60'«ž”"& [ [ >? á/. ? E9 ª ? ? 9 @. ACB B B B. .. . D. 9%«. lo cual constituye un sistema Ù*V/15 para ser resuelto. 21. B B. q ¬ ¬¬  Ð.«ž” D É'Ð.«ž”. B. B. B. B.

(40) 3.3.2. Solución del sistema de ecuaciones para la interpolación mediante splines cúbicos. En [3] se propone el siguiente algoritmo de solución: Datos de entrada: Número de nodos ( ). _ Valor de los nodos ( ª\ E¬¬w¬w « ). [ [ [ Valor de la función en los nodos (03ª\-0e%¬¬¬m%0'« ). Velocidad inicial ( ”ª ). Velocidad final ( e« ). Datos de salida: F F q  ¬¬w¬m  ®  &‘/Ø0f¾I4µ5˜¾  ¾m& 4 Constantes 0f¾ , 5˜¾ , 9—¾ y nf¾ para ½~/ para armar la función ´ _ [ [ [   9˜¾P  ¾m& 4µnf¾`  ¾m& , la cual es válida en ¾+¿ ¿ —¾ À# . [. [. [. [. [. Algoritmo de solución: 1. Para ]R/. F. q . ¬¬¬<. [. F. . tomar Ð.–/. _. [. [. †À#´. . [. 2. Tomar Δ)0.´Ï0¤ª<&. ªâ/ ¡« F. /. Ðeª. Îek0'«Ï0'«ž”—&. Τe«. Ð.«`ž”. F. 3. Para ]R/. %ɬ¬¬<. . 6Î'ƒª. , tomar. _. ¡–/. ΔÁã0'†À#"Ð.’ž”RÏ0' ä À#8 ’ž”˜&¡4µ0'’ž”"Ð.’ [ [ Ð.’ž”"Ð.. 4. Tomar d’ªË/ å Û ª / $ªË/. q. F. 5. Para ]R/. _. . ¬æÔ ª d’ª. F %ɬ¬¬<. É'Ðeª. , tomar d ç/ å ç/ $wè/. É. †À#R [ Ð. [. ’ž”"&´ÏÐ.’ž”. d ¡ƒÐ.’ž”˜$w’ž” d. 22. å. ’ž”.

(41) 6. Tomar d}«. /. $w«. /. 9%« F. 7. Para ½s/ _. .  _. Ð.«ž”w¼É+ å «ž”—& «Ðe«`ž”˜$w«ž”. /. d«. $w«. q Éw¬¬¬w , tomar 9˜¾. /. 5¾. /. å ¾<9˜¾"À#. $%¾Ö. 0f¾"À#R60f¾ Ð ¾ 3 9˜¾"À#oÏ9˜¾. nf¾â/. Ф¾`k9˜¾"À#Ÿ4ÑÉ9—¾<& . Î. kÎ'Ð3¾m&. 8. Salida De esta manera quedan completamente definidas todas las constantes para la interpolación mediante splines cúbicos 1 .. 3.4. Determinación del ángulo contacto fijo. para mantener el punto de. é Î. Dado que hay unas patas que se mantienen en contacto con el suelo al pasar de una etapa a otra, el punto de contacto debe permanecer “fijo” mientras se realiza el movimiento; debido a ésto, es necesario generar una ecuación para determinar el valor de  de dichas patas para pasar de una etapa de movimiento a otra. Las coordenadas del punto de contacto son 2 (Ecuación 3.21 a 3.23) i. / u. k0. i. /. b 4Ñ0. i. v / x. . Šw‹'Œ. . Œ"Ž  Šw‹'Œ. Ed ´4 b Šw‹'Œ Œ"Ž  k0   b Œ"Ž  4Ñ0 —d ´4 Œ—Ž’ Œ"b Ž’ ² ¶   ­ . ² . =0. —d ²  4µ0 d) Šm‹'Œ. . b. b . Šm‹'Œ Šw‹'Œ. ² ¶  ˜& ­ 4µ0 ² ¶  & ­ 4Ñy0 b. b.  . Œ"Ž . ² `kd’´4µd ¡ & 4. (3.21). Œ—Ž’. ² `kd’R4d ¡ & 4. (3.22). ² `kd 84d &. (3.23). donde y0  y 0  son valores auxiliares dados por (Ecuación 3.24 y 3.25) b. b. y0 y0 b. b. X/ â/. Šw‹'Œ Šw‹'Œ.  . Œ"Ž  Šw‹PŒ. 84 ‘. Œ"Ž’ Œ—Ž’.  . Šw‹PŒ Œ"Ž’.  . (3.24) (3.25). Ahora, para mantener el punto de contacto fijo, la coordenada  (Ecuación 3.21) y $ (Ecuación 3.23) deben permanecer constantes al principio y final de la etapa; por simplificación para 1 2. En el simulador se considera ê\ëoìíê , es decir, los intervalos de tiempo son iguales. Del vector î de la matriz ï—ð*ñ .. 23.

(42) qP°. ². este caso, el ángulo  se mantiene con un valor articular de ± y se sustituyen las longitudes de los eslabones, dejando como variables los valores que habrán de cambiar al pasar de una etapa a otra 3 i i i i. uEò. x¼õ. Á. /. x¼ò u<õ. Šw‹'Œ    ¶ Œ"Ž’ ­    Šm‹'ò Œ wŠ ‹'ò Œ Á  ¶ Œ"Ž  ­    õ õ /. / /. Šm‹'Œ. . . Œ—Ž’. Œ"Ž . . ¶ Šm‹'Œ  ¦Â Áó­   4  ò ò ò. q. ¬ôÉ. Œ—Ž’. . 4. q. ¬æÉ`Â34. q. ¬ôÉ. Šm‹'Œ. . (3.26)  ¬ôÉ  (3.27) Œ"Ž  ò Œ—Ž’ q Œ"Ž’ q q Šw‹'Œ ¶ Šm‹'Œ       ¦Â Áã­  4 æ¬ É  4 ¬ôÉ`Â34 ¬æÉ   (3.28)  õq õ õ õ õ Šw‹PŒ  ô¬ É  (3.29) qò. Šm‹'Œ. ò. õ. donde los subı́ndices ] y ® representan un valor ] ]¼9<]¼03d y ®#] 03d respectivamente. _. _. Al igualar las posiciones iniciales y finales de la etapa, se tiene que 5wX/. 5%â/  õ. Šw‹'Œ Œ—Ž’ Œ"Ž  q "Œ Ž  ¶ Šw‹PŒ       &m)­    4  ¬ôÉ  ¡ & 4 òq q Šw‹PŒ Šmò‹'Œ q Œ"Ž  ò Œ"Ž’ ò Šm‹'Œ Šw‹'Œ ò 4 ¬ôÉ    ¬ôÉ    F   ô¬ É      4  ò ò õ q Œ"Ž  Œ"Ž’ 4 ¬ôÉ   &Íö Šm‹'Œ Šw' ‹ Œ Œ"Ž  —Œ Ž’ õ      õ õ ÷ . q Šw‹PŒ ¶ Œ"Ž  ¬ôÉ  :­  ò qò ¶ ò ¬æÉP5w865%%­ Šmú  õ øù ø ö q ¶ 5˜­ 4 ¬æÉP5% õ ÷ —. /. Šm‹'Œ. (3.30). (3.31) (3.32). Cabe aclarar que el ángulo  se obtiene antes de pasar al módulo de interpolación mediante õ splines cúbicos para determinar su valor articular a medio avance (el avance completo se logra mediante dos etapas consecutivas); debido a ésto, no se garantiza que las coordenadas  y $ se mantengan fijas durante la interpolación, pero si al principio y fin de una etapa de movimiento. En cierta forma, es posible minimizar el error que pudiera ocurrir al programar una mayor cantidad de etapas para un patrón de movimiento (similar a refinar una malla al utilizar el método de elementos finitos), pero ésto es cuestión del detalle con que se programe un patrón, no del simulador en sı́. Para lograr mantener las coordenadas perfectamente fijas, el simulador se tendrı́a que reprogramar siguiendo el esquema de cinemática inversa, lo cual queda fuera del objetivo de esta tesis. En adelante, en las etapas donde es necesario calcular el valor de   con la Ecuación 3.32 õ aparece una  en la casilla correspondiente.. 3.5. Determinación del ángulo tante entre patas. é É. para mantener avance consF. Dado que las patas Î y G tienen un mayor radio de movimiento debido al ángulo de su eslabón , es necesario obtener una ecuación para que el avance de todas las patas sea equivalente. Para este caso, de manera similar a la determinación del ángulo  , es necesario obtener la cantidad neta que se mueve cada pata; ésto se logra al obtener la distancia entre puntos de contacto fijos 3. Aunque ûEü se mantiene constante en cada etapa, las ecuaciones mencionadas son válidas para todas las patas.. 24.

(43) iniciales y finales, al utilizar las Ecuaciones 3.21 y 3.22, donde de nuevo se hace la simplificación q ° ² de  / ± , se sustituyen las longitudes de los eslabones y adicionalmente se considera que q ° */ , debido a que al principio y final del avance (éste se hace mediante 2 etapas intermedias) el ángulo  presenta éste valor: i i i i. uEò vò u<õ v˜õ. q. q Šw‹'Œ  S  4 ¬æÉ  ò ò q Šw‹'Œ Œ"Ž  Œ—Ž’ Šw‹'Œ q Œ—Ž’ ¬CGƒÁ   4   ÂS4 ô¬ É  ò q Šw‹'Œ wŠ ‹'Œ ò Œ"Ž  "Œ Ž’ q Šm‹'Œ ¬CGƒÁ      Â4 æ¬ É  õ õ q Šw‹'Œ Œ"Ž  Œ"Ž’ Šw‹PŒ q "Œ Ž  ¬CGƒÁ   4   ÂS4 ¬æÉ  õ õ /. / / /. ¬CGƒÁ. Šw‹'Œ. . Šw‹'Œ. . Œ"Ž . . Œ—Ž’. . (3.33) (3.34) (3.35) (3.36). de donde se define el avance c como (Ecuación 3.37) c+/þý †i. u õ. ÿi. uEò. &  41†i. v õ. Äi. & . vò. (3.37). y al sustituir de la Ecuación 3.33 a la 3.36 se obtiene (Ecuación 3.38) c*/. ý. q. F ¬ ΤÉeÁ. . Œ"Ž . . Œ—Ž’ õ.  ò. . Šw‹'Œ.  õ. Šw‹'Œ.   ò. (3.38). la cual representa el avance o distancia recorrida entre dos etapas al mantener una pata fija en el suelo 4 .. 3.6. Generación de los patrones ejemplo de movimiento. En este capı́tulo se ha explicado la metodologı́a para realizar el análisis cinemático directo del robot tipo insecto. Como se mencionó en la Sección 3.1, el simulador trabaja mediante cinemática directa, por lo que cada patrón de movimiento se encuentra programado en el código del programa, comenzando a partir de la posición inicial del robot. La escena final que observa el usuario se basa en que el robot tipo insecto se encuentra fijo en el espacio y que el movimiento de las patas lleva a que se mueva el robot en sı́. Como una ayuda para el usuario, para cada patrón (caminar en suelo horizontal, subir escaleras, bajar escaleras y dar vuelta a la izquierda) se agrega al programa un submódulo para dibujar el ambiente, el cual se mueve como consecuencia del movimiento de las patas del robot, por lo que se aclarara que el robot “no se da cuenta de su entorno”, sino que éste simplemente sigue las etapas del patrón de movimiento activo. En dado caso de que se desee agregar un patrón adicional al programa, habrı́a que agregar el submódulo de ambiente para ese caso en particular. En la Figura 3.9 se muestra un diagrama de flujo generalizado con las operaciones a seguir en el simulador; para más detalles, se provee el código fuente del programa en el disco compacto adjunto a esta tesis (ver Apéndice A). 4. El avance resulta independiente del valor de û<ü .. 25.

(44) Inicio. Inicializa arreglos. Lectura de archivos de datos dh_input.txt e inertia_input.txt. Inicializa valores articulares con datos de dh_input.txt ´ Estos coinciden con el patron de "RESET" del robot (patron=0) ´ de movimiento Patron deseado por el usuario mediante entrada por el teclado. ´ Patron= 0, 1, 2, 3 o´ 4 Al presionar la tecla "ESCAPE", el programa termina. ´ de movimiento activo Para el patron etapa=0. 1. Reloj=0 2. Determina valores articulares para ´ activo la etapa actual del patron 3. Determina siguiente etapa. Obtiene constantes para interpolar el movimiento entre los valores articulares anteriores y los nuevos. Para reloj=0, 1, ..., 25 (segundos): 1. Calcula valores articulares actuales ´ mediante interpolacion 2. Calcula matrices (i-1)A(i) para cada cuerpo de cada pata 3. Concatena las matrices (i-1)A(i) para cada pata 4. Al llegar el reloj a 25, reloj=0. A partir de los datos de inertia_input.txt, determina con las matrices 0A(i) de cada pata ´ de origen y terminacion ´ de cada la posicion cuerpo. ´ ´ ´ Modulo de analisis dinamico. Este puede estar activo o inactivo. Dibuja el robot en pantalla. Figura 3.9: Diagrama de flujo generalizado con las operaciones a seguir en el simulador. 26.

(45) 3.6.1. Patrón de movimiento 0 - posición inicial. Para simplificar la programación de un patrón de movimiento, se provee un patrón inicial, el cual coloca el robot en una configuración predeterminada para comenzar el movimiento; debido a ésto, es necesario activar este patrón antes de evaluar uno de los otros provistos en el simulador. Este patrón se activa en el simulador al presionar la tecla “0”. En la Tabla 3.4 se muestran los valores articulares para cada articulación de cada pata del robot tipo insecto. Tabla 3.4: Patrón 0 - Valores articulares para cada articulación de cada pata. g. 0 0 [. 1 2 3 4 5 6. 3.6.2. ° ­` ( ). ° ­m ( ). ° ­w ( ). 60 120 0 180 -60 -120. -60 60 0 0 60 -60. 90 90 90 90 90 90. °. ² ­. ­. () 90 90 90 90 90 90. ¶. (m) -0.15 -0.15 -0.15 -0.15 -0.15 -0.15. Patrón de movimiento 1 - camina sobre suelo horizontal. El patrón de movimiento más sencillo para probar el simulador se basa en efectuar los movimientos articulares necesarios para movilizar el robot sobre un suelo horizontal sin obstáculos. El patrón propuesto se basa en que el robot siempre debe mantener 3 patas en contacto con el suelo para mantenerse en equilibrio estático. Este patrón se activa en el simulador al presionar la tecla “1”. Determinación del ángulo  õ. para el patrón 1 q °. Se propone que el ángulo  de la pata 1 se mueva de + se obtiene un avance c. /.  q q ¬ '± ÉG3ÔP±G. F. a Ô. q °. , y al evaluar la Ecuación 3.38. F ±.  ¯. Al mantener el mismo avance para la pata 3, se tiene un ángulo   / ò de  obteniendo5 õ.  õ. /. *±.¬æ±P±'±'±'±'±P±'±'Î. F. ° . F. q °. y se despeja el valor. q °. El valor de  para la pata 3 se obtuvo con un avance completo (2 etapas), por lo que en la õ etapa intermedia se le asigna la mitad de éste valor. 5. Para el avance propuesto la variación angular de la pata 3 es casi igual a la de la pata 1; el valor se redondea por simplificación.. 27.

(46) Etapas de movimiento para el patrón 1 En las Tablas 3.5 a 3.8 se muestran los valores articulares de cada etapa F para cada articulación de cada pata del robot tipo insecto para generar el patrón de movimiento . El significado de que representan las tablas es6 Tablas 3.5 y 3.6 Avance completo manteniendo las patas 2, 3 y 6 en contacto con el suelo. Tablas 3.7 y 3.8 Avance completo manteniendo las patas 1, 4 y 5 en contacto con el suelo. Tabla 3.5: Patrón 1, etapa 1 - Valores articulares para cada articulación de cada pata. g. 0 0 [. 1 2 3 4 5 6. ° ­` ( ). ° ­m ( ). ° ­w ( ). 60 120 0 180 -60 -120. -55 65 -5 -5 65 -55. 95. °. ² ­. ¶. ­. . () 95 90 90 85 95 90. . 95 95 . (m) -0.15 -0.20 -0.20 -0.15 -0.15 -0.20. Tabla 3.6: Patrón 1, etapa 2 - Valores articulares para cada articulación de cada pata. g. 0 0 [. 1 2 3 4 5 6. ° ­` ( ). ° ­m ( ). ° ­w ( ). 60 120 0 180 -60 -120. -50 70 -10 -10 70 -50. 90 90 90 90 90 90. ­. ². °. () 90 90 90 90 90 90. ­. ¶. (m) -0.15 -0.15 -0.15 -0.15 -0.15 -0.15. Como se menciona en la Sección 3.4, en las etapas donde es necesario calcular el valor de û  mediante la Ecuación 3.32 aparece una en la casilla correspondiente. 6. 28.

(47) Tabla 3.7: Patrón 1, etapa 3 - Valores articulares para cada articulación de cada pata. g. 0 0 [. 1 2 3 4 5 6. ° ­` ( ). ° ­m ( ). 60 120 0 180 -60 -120. -55 65 -5 -5 65 -55. ° ­w ( ) . °. ² ­. ¶. ­. 95 95. () 90 85 95 90 90 85.  . 95. (m) -0.20 -0.15 -0.15 -0.20 -0.20 -0.15. Tabla 3.8: Patrón 1, etapa 4 - Valores articulares para cada articulación de cada pata. g. 0 0 [. 1 2 3 4 5 6. ° ­` ( ). ° ­m ( ). ° ­w ( ). 60 120 0 180 -60 -120. -60 60 0 0 60 -60. 90 90 90 90 90 90. 29. ­. ². °. () 90 90 90 90 90 90. ­. ¶. (m) -0.15 -0.15 -0.15 -0.15 -0.15 -0.15.

Referencias

Documento similar

/R SULPHUR TXH KDFH GHQWUR GHO FRQVWUXFWRU HV DVLJQDU ORV SDUiPHWURV GH  HQWUDGDDYDULDEOHVGHODFODVH. 

Las lecturas de francobordo/calado se toman para establecer la posición de la flotación y determinar a su vez el desplazamiento del buque en el momento de realizar la prueba

El objeto de este es diseñar de forma detallada el primer simulador de vuelo dinámico en Colombia el cual servirá como estudio del comportamiento de un avión,

los cuales se realizaron en un equipo Bruker 300. Para los espectros en el infrarrojo se utilizó un equipo FT-IR marca Nicolet, se prepararon pastillas de los surfactantes en

Para conseguir el primer objetivo existen determinados bancos éticos que financian actividades concretas como son empresas y proyectos sociales,

En este grupo se encuentran 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

El fin último del presente trabajo es conseguir la sensorización de un robot paralelo utilizado para aplicaciones médicas, conocido como “TrueLock Hexapod” (TL-Hex)

En cada antecedente debe considerarse como mínimo: Autor, Nombre de la Investigación, año de la investigación, objetivo, metodología de la investigación,