Full text
67100 Trabajo Fin de Máster I ID DE EN NT TI IF FI IC CA AC CI IÓ ÓN N D DE E P PA AR RÁ ÁM ME ET TR RO OS S C CI IN NE EM MÁ ÁT TI IC CO OS S D DE E U UN N B BR RA AZ ZO O R RO OB BO OT T M ME ED DI IA AN NT TE E E EL L M MÉ ÉT TO OD DO O D DE E C CI IR RC CL LE E- -P PO OI IN NT T. . S SI IM MU UL LA AC CI IÓ ÓN N Y Y V VA AL LI ID DA AC CI IÓ ÓN N E EX XP PE ER RI IM ME EN NT TA AL L. . Curso Académico 2010-2011 Titulación: MÁSTER SISTEMAS MECÁNICOS Programa Oficial de Posgrado: INGENIERÍA MECÁNICA Y DE MATERIALES Autor: Manuel Ginés Buil Director: Dr. Jorge Santolaria Mazo Zaragoza, 12 de Noviembre de 2010
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 2 A MªMar, por su amor, comprensión y paciencia durante el Máster, y en la realización de este proyecto, sin cuyo apoyo esto no hubiera sido posible. Este trabajo es en buena parte suyo. A Álvaro y María, sin quienes todo esto no tendría sentido. A Pablo, por inspirarme y alentarme para afrontar este reto. Y un agradecimiento especial a Jorge Santolaria Mazo, por su apoyo y dedicación en la elaboración de este proyecto.
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 3 Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point”. Simulación y validación experimental Resumen 1 Resumen del Proyecto Este proyecto tiene como objetivo la identificación de los parámetros cinemáticos de un brazo robot mediante el método de Circle Point, así como realizar un proceso de simulación que emule la adquisición de los puntos en el espacio (que definen la ubicación de cada articulación) que daría el método de Circle Point, y permita obtener las incertidumbres asociadas a los valores individuales de cada parámetro determinado por este procedimiento. Para llevar a cabo este objetivo, se han seguido los siguientes pasos: 1. Implementación en MATLAB del modelo del robot utilizando los modelos de Denavit- Hartenberg y Hayati-Mirmirani. 2. Implementación en MATLAB de un generador paramétrico de puntos de medida sintéticos (Simulador puntos Circle Point) que reproduzca el resultado de un procedimiento de medida según el método Circle Point. Este generador permite definir las coordenadas en las que se va colocando el reflector, ángulos girados por cada articulación, número de puntos capturados en cada giro, ruido de medida según la incertidumbre del equipo empleado, etc. Asimismo incluye una representación gráfica de resultados. 3. Implementación en MATLAB del método Circle Point para la obtención de los parámetros cinemáticos del robot, a partir de datos sintéticos o datos reales. 4. Validación del programa mediante datos simulados: de este modo es posible correlacionar los parámetros del robot empleados para generar los datos sintéticos con los parámetros obtenidos mediante el método implementado a partir de dichos puntos. Así mismo, se analiza la sensibilidad de los parámetros calculados a diversos parámetros del proceso de medición, como incertidumbre del equipo de medida, ángulo recorrido por cada articulación, sentido de giro o excentricidad en las articulaciones, de modo que sea posible establecer numéricamente la incertidumbre asociada a la identificación de cada parámetro.
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 4
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 5 Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle-Point”. Simulación y validación experimental 2 Índice Tabla de contenido 1 Resumen del Proyecto .......................................................................................................................... 3 2 Índice ..................................................................................................................................................... 5 3 Lista de figuras y tablas ......................................................................................................................... 9 4 Introducción ........................................................................................................................................ 11 5 Identificación de los parámetros cinemáticos de un brazo robot mediante el método de Circle Point, simulación y validación experimental ......................................................................................................... 12 5.1 Modelo cinemático del robot basado en Denavit-Hartenberg ................................................... 12 5.2 Método de Circle-Point ............................................................................................................... 13 5.3 Implementación del método mediante MatLab ......................................................................... 14 5.4 Mejoras de la técnica del Circle-Point ......................................................................................... 15 5.5 Resumen de funciones MatLab ................................................................................................... 16 5.6 Función Genera_Puntos_Circle_Point: Simulación de toma de puntos siguiendo el método Circle Point ............................................................................................................................................... 17 5.7 Función Coordenadas_Plucker_Ejes: Calcula las coordenadas Plücker ...................................... 20 5.8 Función Calcula_Parámetros_KM: Cálculo de los parámetros DH a partir de los datos tomados con método Circle Point .......................................................................................................................... 23 5.9 Función: Montecarlo Circle-Point ............................................................................................... 26 5.10 Generación de un conjunto de puntos con el Simulador ............................................................ 27 5.11 Validación de las funciones realizadas ........................................................................................ 28 5.12 Validación de la función de cálculo de los parámetros del modelo con Montecarlo, sin ruido ni errores.. ................................................................................................................................................... 29 5.13 Validación de la función de cálculo de los parámetros del modelo con Montecarlo, incluyendo ruido…. .................................................................................................................................................... 30 6 Simulaciones realizadas y resultados obtenidos ................................................................................. 31 6.1 Análisis de la influencia del uso de diferentes equipos de medición .......................................... 32 6.2 Análisis de la influencia de la variación del ángulo cubierto en la incertidumbre ...................... 34
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 6 6.3 Análisis de la influencia de la variación de la posición del reflector en la incertidumbre .......... 35 6.4 Análisis de la influencia de la variación del número de puntos considerado que se miden para cada articulación ..................................................................................................................................... 36 6.5 Análisis de la influencia de la variación de la matriz de transformación del SR del robot al equipo de medición ................................................................................................................................ 37 6.6 Análisis de la influencia de la variación del número de iteraciones ejecutado en los cálculos .. 38 6.7 Tiempos de ejecución ................................................................................................................. 40 7 Próximos pasos ................................................................................................................................... 41 8 Conclusiones ....................................................................................................................................... 42 9 Anexo I: Calibración de Parámetros Geométricos mediante el Análisis de Circle-Point .................... 44 9.1 Notación cinemática ................................................................................................................... 44 9.2 Calibración de Parámetros Geométricos mediante el Análisis de Círculo de Puntos ................ 47 9.3 Explicación de la Técnica del Círculo de Puntos ......................................................................... 48 9.4 Revisión de la definición de líneas y planos en el espacio.......................................................... 51 9.5 Análisis de Línea adyacente ........................................................................................................ 53 9.5.1 Condición 1: Líneas oblicuas (MM≠0) ................................................................................. 57 9.5.2 Condición 2: Líneas que se cruzan (MM=0, a jk =0) .............................................................. 58 9.5.3 Condición 3: Líneas paralelas (MM=0, sin α jk =0) ................................................................ 59 9.6 Análisis de ejes nominalmente paralelos ................................................................................... 61 9.6.1 Solución 1: Análisis exacto .................................................................................................. 62 9.6.2 Solución 2: Análisis aproximado ......................................................................................... 65 9.6.3 Solución 3: Modelo cinemático de parámetro adicional .................................................... 68 9.7 Resumen de la técnica analítica del Círculo de Puntos .............................................................. 71 10 Anexo II: Formulación de los errores de rotación y traslación de un sistema ............................... 74 10.1 Errores de rotación de un eje ..................................................................................................... 74 11 Anexo III: Cálculo de proyección de un punto en un plano ............................................................ 75 11.1 Proyección de un punto en un plano.......................................................................................... 75 11.2 Punto de intersección de recta y plano ...................................................................................... 75 11.3 Pareja de planos disponibles conteniendo a una recta .............................................................. 76 11.4 Punto intersección de tres planos .............................................................................................. 77 12 Anexo IV: Cálculo de la Matriz de Transferencia del sistema de referencia del robot al Láser Tracker ........................................................................................................................................................ 79 13 Anexo V: Cálculo de los parámetros cinemáticos del robot Kuka KR 5 sixx empleado .................. 80 14 Anexo VI: Robot KUKA KR 5 sixx R650 ............................................................................................ 81 15 Anexo VII: Datos de entrada para las simulaciones........................................................................ 82 15.1 Valor de Variables iniciales para las simulaciones ...................................................................... 82
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 7 15.2 Cálculo de las diferentes matrices de transformación para la simulación ................................. 82 16 Anexo VIII: Resultados en detalle de las simulaciones .................................................................... 84 16.1 Análisis de la influencia del uso de diferentes equipos de medición .......................................... 84 16.1.1 Simulación 11 – 100.000 iteraciones – CPS ......................................................................... 85 16.1.2 Simulación 12 – 100.000 iteraciones - CPS ......................................................................... 86 16.1.3 Simulación 13 – 100.000 iteraciones - CPS ......................................................................... 87 16.1.4 Simulación 14 – 100.000 iteraciones – Simulación en CPS ................................................. 88 16.1.5 Simulación 14 – 100.000 iteraciones – Simulación con Laptop .......................................... 89 16.1.6 Simulación 15 – 100.000 iteraciones - CPS ......................................................................... 90 16.3 Análisis de la influencia de la variación del ángulo cubierto en la incertidumbre ...................... 91 16.3.1 Simulación 21 – 100.000 iteraciones – PC i7 ...................................................................... 91 16.3.2 Simulación 22 – 100.000 iteraciones – Laptop.................................................................... 92 16.3.3 Simulación 23 – 100.000 iteraciones – Laptop.................................................................... 93 16.3.4 Simulación 24 – 100.000 iteraciones – Laptop.................................................................... 94 16.4 Análisis de la influencia de la variación del ángulo cubierto en la incertidumbre ...................... 95 16.4.1 Simulación 31 – 100.000 iteraciones – Laptop.................................................................... 95 16.4.2 Simulación 32 – 100.000 iteraciones – PC i7 ....................................................................... 96 16.4.3 Simulación 33 – 100.000 iteraciones – Laptop.................................................................... 97 16.5 Análisis de la influencia de la variación del número de puntos considerado que se miden para cada articulación ..................................................................................................................................... 98 16.5.1 Simulación 41 – 100.000 iteraciones - CPS ......................................................................... 98 16.5.2 Simulación 42 – 100.000 iteraciones - CPS ......................................................................... 99 16.5.3 Simulación 43 – 100.000 iteraciones - CPS ....................................................................... 100 16.6 Análisis de la influencia de la variación de la matriz de transformación del SR del robot al equipo de medición ............................................................................................................................... 101 16.6.1 Simulación 51 – 100.000 iteraciones – CPS ....................................................................... 101 16.6.2 Simulación 52 – 100.000 iteraciones – CPS ....................................................................... 102 16.6.3 Simulación 53 – 100.000 iteraciones – Laptop.................................................................. 103 16.7 Análisis de la influencia de la variación del número de iteraciones ejecutado en los cálculos 104 16.7.1 Simulación 21 – 100 iteraciones – PC i7 ............................................................................ 104 16.7.2 Simulación 21 – 1.000 iteraciones – PC i7 ......................................................................... 105 16.7.3 Simulación 21 – 10.000 iteraciones – PC i7 ....................................................................... 106 16.7.4 Simulación 21 – 100.000 iteraciones – PC i7 ..................................................................... 107 16.7.5 Simulación 21 – 500.000 iteraciones – PC i7 ..................................................................... 108 16.7.6 Simulación 22 – 100 iteraciones – Laptop ......................................................................... 109 16.7.7 Simulación 22 – 1.000 iteraciones – Laptop...................................................................... 110
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 8 16.7.8 Simulación 22 – 10.000 Iteraciones – Laptop ................................................................... 111 16.7.9 Simulación 22 – 100.000 iteraciones – Laptop ................................................................. 112 17 Anexo IX – Funciones MatLab desarrolladas ................................................................................ 113 17.1 Genera Puntos Circle-Point ...................................................................................................... 113 17.2 Coordenadas Plücker Ejes ......................................................................................................... 118 17.3 Calcula Parámetros KM ............................................................................................................ 129 17.4 Montecarlo Circle Point ............................................................................................................ 137 17.5 Simulacion_MCP ....................................................................................................................... 140 17.6 Matriz LT Robot ........................................................................................................................ 142 18 Anexo X – Funciones MatLab usadas de apoyo ............................................................................ 143 18.1 Arrow 3D ................................................................................................................................... 143 18.2 Lsplane ...................................................................................................................................... 145 18.3 Ls3dcircle .................................................................................................................................. 146 18.4 Subplot_title ............................................................................................................................. 149 18.5 AbsoluteOrientationQuaternion .............................................................................................. 150 19 Anexo XI: Equipos de Medición considerados .............................................................................. 153 19.1 Resumen de equipos de medición............................................................................................ 153 19.2 FARO Láser Tracker ION ............................................................................................................ 154 19.3 Láser Tracker LEICA ................................................................................................................... 156 19.4 LEICA T-Probe ........................................................................................................................... 157 19.5 LEICA T-Mac system .................................................................................................................. 159 19.6 LEICA Estación Láser TDRA6000 ............................................................................................... 161 19.7 LEICA TCA2003 Total Station .................................................................................................... 162 19.8 NIKON Indoor GPS .................................................................................................................... 163 20 Bibliografía .................................................................................................................................... 164
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 9 3 Lista de figuras y tablas Ilustración 1 - Dimensiones y detalle de robot Kuka KR 5 sixx .................................................................... 12 Ilustración 2 - Gráfica puntos según ángulo ................................................................................................ 18 Ilustración 3 – Gráfica puntos según Nptos ................................................................................................ 18 Ilustración 4 - Representación ejes y puntos según Coordenadas Plucker ................................................. 22 Ilustración 5 - Excentricidad Axial ............................................................................................................... 22 Ilustración 6 - Excentricidad Radial ............................................................................................................. 23 Ilustración 7 - Vectores ajk, ajk_prev, Sj, producto vectorial ajk x ajk_prev ............................................... 25 Ilustración 8 - Puntos obtenidos ................................................................................................................. 27 Ilustración 9 - Generación puntos ............................................................................................................... 28 Ilustración 10 - Cálculo coordenadas Plücker ............................................................................................. 28 Ilustración 11 - Excentricidad obtenida sin ruido ........................................................................................ 28 Ilustración 12 - Vectores ajk, ajk_prev, Sj, producto vectorial ajk x ajk_prev ............................................. 29 Ilustración 13 - Gráfica datos obtenidos incluyendo ruido ........................................................................ 30 Ilustración 14 - CpK vs diferentes equipos de medición ............................................................................. 32 Ilustración 15 - (Media - Nominal) vs diferentes equipos de medición ...................................................... 32 Ilustración 16 - Incertidumbre vs diferentes equipos de medida ............................................................... 33 Ilustración 17 - CpK vs ángulo cubierto por el reflector .............................................................................. 34 Ilustración 18 - CpK vs variación posición del reflector .............................................................................. 35 Ilustración 19 - CpK vs Variación del número de puntos considerado ....................................................... 36 Ilustración 20 - CpK vs Variación de la matriz de transformación (posición del equipo de medición) ....... 37 Ilustración 21 - CpK vs Número iteraciones en PC Intel Core i7 64 bit ...................................................... 38 Ilustración 22 - CpK vs Número iteraciones en PC Intel Core 2 T5600 ........................................................ 38 Ilustración 23 - Media-nominal vs. número de iteraciones en PC i7 .......................................................... 39 Ilustración 24 - Media-Nominal vs Número iteraciones en PC Intel Core 2 T5600 ..................................... 39 Ilustración 25 – Descripción cinemática de un manipulador general de n-grados de libertad .................. 45 Ilustración 26 – Movimiento del Círculo de Puntos para ejes individuales ................................................ 49 Ilustración 27 - Definición de una Línea en el espacio ................................................................................ 51 Ilustración 28 - Definición de un Plano en el espacio ................................................................................. 52 Ilustración 29 - Casos generales de Líneas Adyacentes .............................................................................. 54 Ilustración 30 - Ejes adyacentes paralelos - Caso Ideal ............................................................................... 61 Ilustración 31 - Ejes adyacentes paralelos - Peor Caso ............................................................................... 62 Ilustración 32 - Modelo exacto de corrección del ángulo del transductor para eje j ................................. 63 Ilustración 33 - Modelo exacto para corrección del ángulo del transductor para eje k ............................. 64 Ilustración 34 - Aproximación de ejes adyacentes mediante vector promedio ......................................... 66 Ilustración 35 - Descripción del modelo cinemático de 5 parámetros ....................................................... 70 Ilustración 36 - Movimientos y errores sobre un eje de rotación ............................................................... 74 Ilustración 37- Dimensiones robot Kuka KR 5 sixx ...................................................................................... 80 Ilustración 38 - Datos robot Kuka KR 5 sixx ................................................................................................. 81
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 16 se basa en el cálculo del coseno de 5 , el cual sólo permite obtener ángulos en el intervalo [0, 180]. El cálculo del seno de no se puede realizar, al desconocerse el vector 6 . Para evitar esta dificultad, se calcula el seno de de la siguiente forma: sin = cos = cos = · Ecuación 1 Que en la función se denomina cos_skajk. Es decir, la proyección de sobre es el valor seno buscado. Por tanto, a partir de este valor, se calcula fácilmente : = 2 ( cos , cos ) Ecuación 2 Con lo que se obtiene un ángulo en el intervalo [-180, +180]. • Cálculo de los ángulos α, β, θ: Los ángulos se han calculado con la función atan2, que permite devolver valores en un intervalo entre [-180,+180]. Sin embargo, para valores de ángulos muy próximos a ±180° este resultado genera unos resultados con una gran variabilidad, al obtener, con muy poca variación de los errores generados por Montecarlo, valores de +180,001° ó - 180,001°. Por esto, también se introduce una verificación en el algoritmo, de forma que para ángulos cercanos a ±180°, el intervalo devuelto por atan2 se convierte a un intervalo [0, +360]. • Verificación del sentido de los vectores Sj: En las funciones implementadas se ha asegurado que las direcciones de los vectores Sj obtenidos son coincidentes con las direcciones definidas por el modelo DH-Hayati nominal implementado en el robot. En caso de que no coincida, se ajusta para que coincida con las direcciones de dicho modelo. 5.5 Resumen de funciones MatLab Para realizar tanto la identificación de parámetros cinemáticos del brazo robot, como la simulación de la toma de puntos, se han usado diversas funciones de MatLab. Un compendio de estas funciones con una breve explicación de cada una se detalla a continuación: - Genera_puntos_circle_point: Genera los puntos que simulan la toma de puntos por cada articulación según el método Circle Point. - Coordenadas_Plucker_Ejes: Esta función ccalcula las coordenadas Plucker correspondientes a los 6 ejes del robot con los datos de entrada obtenidos de una Generación de Puntos completa del robot según el método del Circle-Point, o a partir de los datos reales. - Calcula_Parametros_KM: Esta función realiza el cálculo de los parámetros reales del modelo del robot, a partir principalmente de la información entregada con las coordenadas Plücker para cada articulación, que definen los ejes de cada una de ellas. Esta función, aplicando la metodología definida según el método del Circle Point, identifica los parámetros del modelo, y devuelve estos parámetros en la variable de salida P. - fRobotMKR5sixxDHHpar: Devuelve las 6 matrices de cambio de coordenadas de una articulación a otra, según el modelo Denavit-Hartenberg, modificado con el 5º parámetro por Hayati-Mirmirani, más la matriz de cambio general (M0A6). 5 Ver Ecuación 80 y Ecuación 82. 6 Ver Ecuación 81.
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 17 - Pinta_SR: Pinta un Sistema de Referencia XYZ, de la articulación i, en el punto r i (i), con una matriz de giro y traslación M desde el origen al punto. Además, se han utilizado otras funciones de ayuda en MatLab: - arrow3D: Permite representar una flecha 3D, desde una posición XYZ, con un delta dX,dY,dZ. Esta función también usa la siguiente función rotatePoints. - lsplane: Devuelve el plano que mejor ajusta a la matriz de puntos entregada. Para una sentencia del tipo: [x0, Eje, dist, normd] = lsplane(PtosEje(:,1:3)); Se pasan los puntos en la variable PtosEje (matriz de n filas, por 3 columnas XYZ), y devuelve x0, como centroide de los puntos (matriz 1x3 – datos XYZ), Eje, como valor de los cosenos directores que definen la dirección del plano (matriz 1x3). - ls3dcircle: Devuelve el círculo 3D que mejor ajusta a la matriz de puntos entregada. Para una sentencia del tipo: [x0n, an, rn, dc, e, f, sigmah, conv, Vx0n, Van, urn, GNlog, a, R0, R] = ls3dcircle(PtosEje(:,1:3), x0, Eje, r0(i), 1e-6, 1e-6); Se pasa la matriz de puntos en la variable PtosEje (matriz de n filas, por columnas XYZ), x0 es el centro del círculo estimado (matriz 3x1), Eje es la normal al plano estimada (matriz 3x1), y r0(i) es el radio estimado. Esta función devuelve en x0n el centro del círculo estimado (matriz 3x1), en an la dirección normal al plano (matriz 3x1), en rn el radio del círculo estimado (matriz 3x1), en dc el vector de distancias de los puntos al círculo (matriz mx1), en e el vector de distancias de los puntos al plano que contiene el círculo (matriz mx1), en f el vector de distancias de los puntos al cilindro que contiene el círculo. Esta función también se sirve de las siguientes funciones para realizar los cálculos necesarios: nlss11, gncc2, fg3dcircle, rot3z, gr, fgrrot3, frrot3, drrot3. - subplot_title: Muestra un título interno en una figura subplot. 5.6 Función Genera_Puntos_Circle_Point: Simulación de toma de puntos siguiendo el método Circle Point Esta función genera los puntos que simulan la toma de puntos, para cada articulación, según el método Circle-Point. Esta función tiene la siguiente línea de llamada: - Función: [Ptos_Circle_Point, Ptos_Original, Randomnoise] = Genera_puntos_circle_point (Initpos, SRLT, Preflector, Angcir, Nptos, Ruidomed, Err, Param5, ShowFigure) - Parámetros de entrada: 0. Initpos: Posición inicial del robot a partir de la cual se generarán los círculos. Vector 1x6 con los ángulos de las articulaciones.
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 18 1. SRLT: Matriz de transformación que pasa puntos del SR (Sistema de Referencia) global del robot al SR de medición del LT (Láser Tracker). Los puntos generados estarán expresados en el SR del LT. 2. Preflector: Matriz 6x3 con las coordenadas X Y Z de la posición del reflector del LT (en posición inicial) expresadas en el SR de la articulación que gira (fijo) para todas las articulaciones:[X1 Y1 Z1; X2 Y2 Z2;...;X6 Y6 Z6] 3. Angcir: Vector 1x6 con el ángulo de giro que cubrirá cada articulación en el ensayo. Ilustración 2 - Gráfica puntos según ángulo 4. Nptos: Vector 1x6 con el número de puntos que se generarán en cada círculo. Ilustración 3 – Gráfica puntos según Nptos 5. Ruidomed: Desviación estándar de la distribución normal con la que se generará aleatoriamente ruido normal debido al instrumento de medida, centrado en el valor nominal en cada coordenada. Consideraremos con carácter general un valor de desviación tal que 2σ sea aproximadamente el 95% del error máximo del instrumento de medida (LT, Estación total, Indoor GPS, etc.). Cero si no se desea ruido. Este parámetro viene expresado en milímetros. Vector 1x2, que significa: Ruido = A + B*L, siendo A el primer valor, en micrómetros, y B en μm/m. 6. Err: Matriz 6x20 con los errores de giro a inducir en cada una de las articulaciones. Cada fila tiene estas componentes: [dx dy dz Ex Ey T1 T2 T3 T4 T5 fi1 fi2 fi3 fi4 fi5 R1 R2 R3 R4 R5]. Son los términos correspondientes al modelado de errores en ejes giratorios (matriz Slocum). En ellos, dx, dy, dz son los deltas en cada uno de los ejes para la traslación respecto al sistema de referencia fijo y Ex, Ey son giros entorno a X e Y del sistema fijo. Ez no se considera porque la rotación es entorno a Z. Todos los errores se van a generar dependientes del valor del ángulo de giro de la articulación en cada momento, por lo que lo que se introducirá en esta matriz serán las amplitudes máximas
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 19 de estos errores. Su valor final se modelará como: $=%·sin&2' ( )·*+,-, por tanto, dependiente del valor de giro en cada momento, siendo: A: el valor introducido en los términos de error (amplitud). En la matriz milímetros para desplazamientos y grados para giros. Si no se desean errores los 5 primeros términos igual a 0. T: Periodo de la oscilación, en radianes (normalmente consideraremos 2π). En la matriz se especifica uno para cada error. θ (thita): Será el valor de giro de la articulación en cada momento ϕ (fi): fase (en radianes), una para cada error en la matriz. (normalmente consideraremos 0). Modelando este error en función de thita, en cada posición de giro de una articulación, su SR estará en una posición distinta para cada thita. Se obtendrá la matriz de este sistema al SR nominal de la articulación para cada ángulo. Los parámetros R1 a R5 son desviaciones estándar de la distribución normal con la que se generará aleatoriamente ruido normal al valor de cada error. Se pondrá 0 si no se desea generar ruido. 7. Param5: Vector con los parámetros DH del robot 8. ShowFigure: Variable lógica, que indica si se deben mostrar los gráficos o no. - Parámetros de salida: o Ptos_Circle_Point: Contiene los puntos generados contemplando defectos y ruido. Vector de 9 elementos por fila, de los que 3 son XYZ del punto, y los otros 6 la posición de los ángulos de cada articulación. o Ptos_Original: Contiene la trayectoria nominal sin considerar defectos ni ruido. Estructura como la del parámetro anterior. o Randomnoise: Vector 6x3xn con valores aleatorios sumados a cada coordenada dentro del intervalo especificado en Ruidomed. El pseudo-código de esta función es el siguiente: Inicializa variables Para cada articulación i desde 1 a 6 Calcula incremento del ángulo para generar el círculo Para cada punto j espaciado un ángulo IncAng Calcula los errores, según la matriz de errores Err (parámetro entrada) Calcula la matriz de giro GZ para ese punto incluyendo los errores Ver Ecuación 93 Calcula el punto del círculo con errores Calcula la matriz de cambio M desde el origen del robot a la articulación actual Cambia el punto según matriz de cambio M y según matriz de cambio SRLT Añade ruido aleatorio debido al instrumento de medida Guarda ruido en Randomnoise Guarda el punto con/sin ruido debido al instrumento de medida Fin Para Guarda puntos del círculo de la articulación actual Guarda la matriz de error GZi de la articulación actual i, según última/actual posición Fin Para Si ShowFigure entonces muestra la figura con los puntos – círculos
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 20 5.7 Función Coordenadas_Plucker_Ejes: Calcula las coordenadas Plücker Esta función calcula las coordenadas Plücker correspondientes a los 6 ejes del robot, bien sea con los datos de entrada obtenidos de una Generación de Puntos completa del robot según el método del Circle Point, o bien sea con los datos de las lecturas tomadas con un instrumento de medición (por ejemplo, un Láser Tracker) de los puntos de cada articulación del robot. En las simulaciones se utilizará esta función, que permite detectar automáticamente si las normales obtenidas están o no en la misma dirección que los ejes Z del robot. Si no lo están se cambia su sentido automáticamente. Con datos reales, se necesita suministrar a esta función la matriz de transformación que pasa del SR LT (Sistema de Referencia del Láser Tracker) al SR R (Sistema de Referencia del Robot). Esta función tiene la siguiente línea de llamada: - Función: [Plucker, P_Circulos, SR0, Distcirculo, Distplano, Distcilindro, sigmaPlano, sigmaCirculo, sigmaCilindro, Angfin]= Coordenadas_Plucker_Ejes(Ptos_Circle_Point, Nptos, r0, Param5, ShPoints, ShBestfitCircles, ShNormals, ShrefS, ShEx, SRLT) - Parámetros de entrada: 1. Ptos_Circle_Point: Matriz 6x1000x9 con los puntos de los círculos medidos en SRLT. 2. Nptos: Vector 1x6 con el número de puntos de cada círculo. 3. r0: Vector 1x6 con los estimadores de los radios de los círculos descritos por el reflector en cada articulación. 4. Param5: Parámetros del robot, según el método Denavit-Hartenberg, con la mejora del parámetro adicional por el método Hayati-Mirmirani. 5. ShPoints, ShBestfitCircles, ShNormals, ShrefS, ShEx: Indican si se representarán en el resultado gráfico los puntos, círculos aproximados, normales a los planos, sistemas de referencia del robot y gráficas de excentricidad. Son parámetros booleanos, que pueden ser: true ó false. 6. SRLT: Matriz de transformación que pasa puntos del SR global del robot al SR de medición del LT, utilizada en la generación de puntos o en la lectura real de los mismos. Los puntos estarán expresados en el SR del LT. - Parámetros de salida: 1. Plucker: Matriz 6x6 que contiene por filas las coordenadas Plucker de los ejes del robot obtenidas mediante el método Circle Point. 2. P_Circulos: Matriz 6x7 que contiene por filas Centro, radio y normal del círculo ajustado en cada eje. 3. SR0: Devuelve la matriz de cambio del Sistema de Referencia 0, es decir, del origen de coordenadas del robot. Contiene los vectores de cambio del eje X,Y,Z, por columnas. (eje X=columna 1, etc). Matriz 4x4. 4. Distcirculo: Vector 6x1000 que contiene por filas las distancias de los puntos al círculo de ajuste en cada eje. 5. Distplano: Vector 6x1000 que contiene por filas las distancias de los puntos al plano de ajuste en cada eje. 6. Distcilindro: Vector 6x1000 que contiene por filas las distancias de los puntos al cilindro que contiene al círculo de ajuste en cada eje. 7. SigmaPlano: Vector 1x6 con las desviaciones estándar de la distribución de distancias al plano para los 6 ejes. 8. SigmaCirculo: Vector 1x6 con las desviaciones estándar de la distribución de distancias al círculo para los 6 ejes.
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 21 9. SigmaCilindro: Vector 1x6 con las desviaciones estándar de la distribución de distancias al cilindro para los 6 ejes. El pseudo-código de esta función es el siguiente: Inicializa variables Para cada articulación i desde 1 a 6 Obtiene el plano y círculo que mejor se ajusta a los puntos Guarda los valores obtenidos (Si, ri, rni, P_Circulos, distancias, sigmas) Fin para Comprueba si normal eje Z calculado (Si) coincide con normal SRLT Si normal es diferente entonces cambia sentido a Si Guarda coordenadas Plücker y S0i Si tiene que mostrar alguna gráfica Para cada articulación i desde 1 a 6 Si ShPoints muestra los puntos del círculo y el número de articulación Proyecta el punto 1 del círculo en el plano XY de la articulación Para cada punto m desde 1 hasta Nptos(i) Obtiene PProy = proyección del punto sobre el plano normal a Si Calcula distancia axial (excentricidad) del punto al plano – punto proyectado Calcula distancia radial (excentricidad) del punto proyectado a la circunferencia Fin Para Si ShEx Muestra gráfico excentricidad, y las excentricidades radial y axial calculadas Si (ShBestfitCircles OR ShrefS) entonces Calcula los puntos del círculo ajustado XYZ con el radio obtenido Calcula la matriz de giro MG del SR_articulación al SRLT Gira los puntos XYZ que forman el círculo con esta matriz MG Si ShBestfitCircles representa el círculo Si ShNormals Representa las normales con dirección Si (ShrefS y es articulación 1) Pinta los sistemas de referencia, guarda SR0 Fin para Y si no tiene que mostrar ninguna gráfica Calcula SR0 Fin Si Si ShrefS Muestra la imagen de los ejes del robot
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 22 Ilustración 4 - Representación ejes y puntos según Coordenadas Plucker Ilustración 5 - Excentricidad Axial
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 23 Ilustración 6 - Excentricidad Radial 5.8 Función Calcula_Parámetros_KM: Cálculo de los parámetros DH a partir de los datos tomados con método Circle Point Esta función realiza el cálculo de los parámetros reales del modelo del robot, a partir principalmente de la información entregada con las coordenadas Plücker para cada articulación, que definen los ejes de cada una de ellas. Esta función, aplicando la metodología definida según el método del Circle-Point, identifica los parámetros del modelo, y devuelve estos parámetros en la variable de salida P. - Función: function P= Calcula_Parametros_KM (Puckler, P_Circulos, Param5, Angfin, CheckX, SRLT, SR0, ShowFigure) - Parámetros de entrada: 1. Plucker: Matriz 6x6 que contiene por filas las coordenadas Plücker (Sj, S0j) de los ejes del robot, obtenidas según el método Circle Point. 2. P_Circulos: Resultado del ajuste de los círculos de puntos, tal y como lo da la función Coordenadas_Plucker_Ejes. 3. Param5: Parámetros nominales del modelo del robot, según modelo Denavit- Hartenberg, modificado según Hayati-Mirmirani. Matriz 1x30, con el formato [d1..d6 tita1..6 a1..6 alfa1..6 beta1..6], para cada articulación. 4. Angfin: Ángulo de giro que indica el robot en la última posición de captura de datos. Vector 1x6. 5. CheckX: Comprueba que la dirección de los vectores ajk coincide con el eje X nominal de la siguiente articulación. Variable booleana (true o false).
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 24 6. SRLT: Matriz de transformación que pasa puntos del SR global del robot al SR de medición del LT utilizada en la generación de puntos. Los puntos generados estarán expresados en el SR del LT. 7. SR0: Matriz de cambio del Sistema de Referencia 0, es decir, del origen de coordenadas del robot. Contiene los vectores de cambio del eje X,Y,Z, por columnas. (eje X=columna 1, etc). Matriz 4x4. 8. ShowFigure: Variable lógica, que indica si se deben mostrar los gráficos o no. - Parámetros de salida: 1. P: Parámetros reales del modelo del robot, en el formato P=[dj titaj ajk alfajk beta_jk] . Matriz 1 x 30. El pseudo-código de esta función es el siguiente: Para cada articulación j desde 1 a 5 Toma Sj, S0j, Sk, S0k de las coordenadas Plücker, cos(alfa_jk), calcula matriz M, Mant cos(alfajk)=Sj·Sk Si cos(alfajk)=+1 ó -1 //EJES PARALELOS a_jk=Sj·(cos(alfa_jk)*S0k – S0j) Ver Ecuación 85 alfa_jk=arc cos(Sj·Sk) Ver Ecuación 86 Fin si Si cos(alfajk)≈-1 ó +1 //EJES CASI PARALELOS: Se soluciona según Solución 3 del método Circle Point. Obtener puntos de intersección Pn y Pp Pn = Pp_prev + dj*Sj Ver Ecuación 63 Pp = (Sj x S0k + (Pn · Sj)*Sk) / (Sj · Sk) Ver Ecuación 67 Skp=Sk – (Sk·ajk)*ajk Ver Ecuación 79 cos =./1−( · 234 ) 5 Ver Ecuación 82 C os(alfa_p_jk)=(Skp / |Skp|) · Sj Ver Ecuación 83 Sen(alfa_p_jk)=((Sj x Skp)/ |Skp| )· ajk Ver Ecuación 84 alfa_jk= arc tan(sen(alfa_p_jk)/cos(alfa_p_jk)) y si no //EJES NO PARALELOS – Hay que calcular el momento mutuo MM=Sj · S0k + Sk · S0j Ver Ecuación 26 Si MM=0 // MM=0 Las líneas se cortan => Pn=Pp A_jk=0 A_jk_v=(Sj x Sk)/ |Sj x Sk| VerEcuación 30 Pn=Pp=(S0j x S0k) / (Sk · S0j) Ver Ecuación 48 Sen(alfa_jk)=| Sj x Sk | Ver Ecuación 17 alfa_jk= arc tan(sen(alfa_p_jk)/cos(alfa_p_jk)) y si no // MM<>0 Las líneas son oblicuas A_jk_v=-signo(MM) * ((Sj x Sk)/ |Sj x Sk|) Ver Ecuación 31 Si CheckX=1 //Comprueba que la dirección de // coincide con la dirección del eje X nominal del modelo Calcula matrices giro del modelo Cos(ang)=Mx · Ajk_signo=positivo Si (cos(ang)<0) entonces
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 25 Cambia sentido ajk_v, cambia sentido MM, cambia ajk_signo Fin si Fin si Pn= (((ajk x Sk) x S0j) – (S0k · ajk)*Sj) / ((ajk x Sk) · Sj) Ver Ecuación 39 Pp= (((ajk x Sj) x S0k) – (S0j · ajk)*Sk) / ((ajk x Sj) · Sk) Ver Ecuación 40 Ajk=|Pp – Pn|* ajk_signo Ver Ecuación 27 Sen(alfa_jk)= ajk · (Sj x Sk) Ver Ecuación 17Ecuación 17 alfa_jk= arc tan(sen(alfa_p_jk)/cos(alfa_p_jk)) Fin si Fin si Si j=1 // Para la primera articulación el cálculo es algo distinto dj(1)=Distancia euclídea desde Pn(1) hasta Origen_robot Si ShowFigure muestra los vectores ajk prev , ajk actual , Sj, (ajk prev x ajk act ) Calcula thita(1) con respecto al eje X (1 0 0) del SR0 Y si no // Para el resto de articulaciones dj(j)=Distancia euclídea desde Pn(j) hasta Pp(j-1) Ver Ecuación 91 Si ShowFigure muestra los vectores ajk prev , ajk actual , Sj, (ajk prev x ajk act ) Calcula thita(j) Ver Ecuación 6 y Ecuación 7 Fin si Ajusta el ángulo ajk, para que coincida con el ángulo del eje Xi – matriz M Fin para (cada articulación j desde 1 a 5) Ajusta ángulo thita según los ángulos finales Angfin que se tienen Asigna parámetros al último sistema de referencia (j=6) Devuelve dato de salida P La siguiente gráfica muestra las direcciones de los vectores a jk y S j obtenidos. Ilustración 7 - Vectores ajk, ajk_prev, Sj, producto vectorial ajk x ajk_prev
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 32 6.1 Análisis de la influencia del uso de diferentes equipos de medición Se considera en este análisis el uso de diferentes equipos de medición (ver los 5 equipos de medición mostrados en la Tabla 13 - Incertidumbre de equipos de medición, en página 153). Ilustración 14 - CpK vs diferentes equipos de medición Ilustración 15 - (Media - Nominal) vs diferentes equipos de medición 3,158 1,290 6,463 2,465 11,395 2,979 6,306 20,983 5,395 2,435 5,285 1,722 7,873 2,250 5,317 14,938 4,548 -0,20 0,00 0,20 0,40 0,60 0,80 1,00 1,20 1,40 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 CpK Sim11 CpK - LT Faro ION Sim12 CpK - LT Leica AT901 Sim 13 CpK - Est.Láser TDRA6000 Sim 14 CpK - Leica Est.Total TCA2003 Sim15 CpK - Nikon Indoor GPS -0,3614 1203736122,7927743802181,6506 -12526514532,2325 0,0047 -0,0191 -3,0328 -1,4907 -0,0596 0,2963 0,0199 17529410817,8785 -12752434509,9585 0,0003 0,0042 -0,0014 -0,0196 -0,0278 -0,0007 -0,0001 -0,20 -0,15 -0,10 -0,05 0,00 0,05 0,10 0,15 0,20 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 Media - Nominal Media-Nominal vs. diferentes equipos de Medida Sim 11 Media-Nominal : LT Faro ION Sim12 Media - Nominal : LT Leica AT901 Sim12 Media-Nominal : Est.Láser TDRA6000 Sim 14 Media-Nominal : Leica Est.Total TCA2003 Sim15 Media - Nominal : Nikon Indoor GPS
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 33 Ilustración 16 - Incertidumbre vs diferentes equipos de medida Primeramente, se puede contrastar que los resultados obtenidos en la gráfica de Media- Nominal y en la de Incertidumbre, son equiparables a los vistos en la gráfica CpK, ya que en aquellos casos en que la diferencia entre media y nominal, y la incertidumbre, presenta un valor bajo, el valor de CpK es muy alto, y viceversa. Por tanto, un valor alto de CpK > 1.33 7 sería un valor bueno, y cuanto más alto mejor, y un valor inferior, sería malo, e incluso valores negativos implica una media e incertidumbre pésimas. Esto siempre teniendo en cuenta que este “proceso” (establecido arbitrariamente para obtener unas gráficas únicas), este valor de CpK, se ha calculado sobre la base de unos límites de proceso superior e inferior de ±0,1mm. Se puede ver que los dos primeros equipos de medición, tanto el Láser Tracker Faro ION, como el Láser Tracker Leica AT901, dan unos valores de CpK en muchos casos por encima de 1.00, lo cual es un valor bueno de proceso, incluso por encima de 1.33. Tanto el equipo Nikon Indoor GPS como la Estación Láser TDRA6000 de Leica se quedan lejos de los anteriores, ya sólo para algunos valores , como a5 y α5, llegan a superar sólo 0.2, lo cual son valores bajos de CpK, situación que por otra parte viene dada por la incertidumbre que ya viene dada por sus características. En cuanto a la Estación Total TCA2003 de Leica, da valores que, si bien para aplicaciones de Obras Públicas, en los que las distancias a cubrir son del entorno a 1000-2000m, en esta aplicación se queda muy lejos de los otros equipos, e incluso en la simulación ha dado algunos errores, ya que en el cálculo del círculo (por el método de Gauss-Newton) llegaba a dar error, al obtener matrices singulares que no permitían realizar el cálculo correcto del círculo correspondiente al conjunto de puntos dados, debido a la elevada incertidumbre del equipo. 7 Valor dado para un proceso estable y capaz, según fabricantes de automóviles, p.ej., General Motors, Ford (15). 4,1893 8,60E+12 4,44E+11 8,10E+12 1,4023 3,0757 31,5226 3,0965 13,9134 18,7240 1,4918 1,80E+13 1,83E+13 0,3302 1,3434 0,7750 6,3060 6,2332 0,1905 0,9063 0,00 0,50 1,00 1,50 2,00 2,50 3,00 3,50 4,00 4,50 5,00 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 Incertidumbre Incertidumbre vs. diferentes equipos de Medida Sim11 Incertidumbre : LT Faro ION Sim12 Incertidumbre : : LT Leica AT901 Sim13 Incertidumbre : Est.Láser TDRA6000 Sim14 Incertidumbre : Leica Est.Total TCA2003 Sim15 Incertidumbre : Nikon Indoor GPS
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 34 6.2 Análisis de la influencia de la variación del ángulo cubierto en la incertidumbre Tomando un equipo de medición, que será el Láser Tracker, se elige la articulación 4, y se lanzan simulaciones, tomándose los siguientes ángulos: 15°, 40°, 90° y 180°. Ilustración 17 - CpK vs ángulo cubierto por el reflector Como se puede ver en la gráfica, al haber variado el ángulo que recorre el reflector en la articulación, es en esta articulación, y en la anterior y en la siguiente, en las que se ven los efectos de esta variación. Los parámetros d4, d5, θ3, θ5, a3, a4, α3, α4, y en menor medida θ4, consiguen unos valores de CpK mayores cuanto mayor es el ángulo recorrido por el reflector, lo cual es lógico, ya que cuanto mayor sea el ángulo que recorre el reflector mejor será el calculo que realizará el método, y menor será la incertidumbre del proceso. 0,00 1,00 2,00 3,00 4,00 5,00 6,00 7,00 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 CpK Sim21 CpK - Artic.4 - Ángulo 15º Sim22 CpK - Artic.4 - Ángulo 40º Sim23 CpK - Artic.4 - Ángulo 90º Sim24 CpK - Artic.4 - Ángulo 180º
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 35 6.3 Análisis de la influencia de la variación de la posición del reflector en la incertidumbre Con el mismo equipo de medición tomado anteriormente, se modifica la posición del reflector (variable Preflector), en una articulación (nº 3), fijando 3 valores, y comprobando su influencia en la incertidumbre obtenida. Se fijan los valores (0,50,0), (0,70,20) y (20,100,50), en coordenadas (X,Y,Z). Ilustración 18 - CpK vs variación posición del reflector En la gráfica comparativa del CpK se observa que la posición del reflector tiene poca influencia en los datos finales obtenidos en la simulación y cálculo por el método del Circle-Point, y que únicamente los parámetros θ4, α2 y β2 se ven ligeramente afectados, obteniéndose eso sí mejores valores para posiciones del reflector más alejadas. Sin embargo, esta variación es en una medida muy baja: por ejemplo, para θ4, supone pasar, en la simulación 31, de valores de límites superior/inferior de ±10μm, a valores de ±7μm, en la simulación 32, y ±5μm, en la simulación 33. En la siguiente tabla se puede ver la leve variación que afectan a estos parámetros. Tabla 6 - Parámetros afectados por variación de la posición del reflector 0,00 5,00 10,00 15,00 20,00 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 CpK Sim31 CpK - Artic.3 - Preflector (0,50,0) Sim32 CpK - Artic.3 - Preflector (0,70,20) Sim33 CpK - Artic.3 - Preflector (20,100,50)
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 36 6.4 Análisis de la influencia de la variación del número de puntos considerado que se miden para cada articulación Para el mismo caso considerado anteriormente, se varía el número de puntos considerados (10, 40, 100). Ilustración 19 - CpK vs Variación del número de puntos considerado En el gráfico se puede ver que cuanto mayor es el número de puntos que se considera para realizar la toma de datos para la posterior definición del círculo, mayor es la precisión obtenida, y por tanto, mayor es el parámetro CpK, es decir, más ajustada será la media y menor será la incertidumbre obtenida. 12,9779 13,8867 21,6392 0,00 2,00 4,00 6,00 8,00 10,00 12,00 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 CpK Sim 41 CpK - NºPuntos=10 Sim 42 CpK - NºPuntos = 40 Sim 43 CpK - NºPuntos = 100 24,9807 38,8703 24,9807
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 37 6.5 Análisis de la influencia de la variación de la matriz de transformación del SR del robot al equipo de medición Para el mismo caso de equipo de medición, se cambia la matriz de cambio del robot al Láser Tracker, considerando 3 valores diferentes (ver los desplazamientos tomados y las matrices calculadas en el apartado 15.2 Cálculo de las diferentes matrices de transformación para la simulación, página 82). Ilustración 20 - CpK vs Variación de la matriz de transformación (posición del equipo de medición) En la gráfica se puede observar que, en lo que supone la modificación de la matriz de cambio de base del sistema de referencia del robot al sistema de referencia del equipo de medición, no hay diferencias relevantes en los resultados obtenidos. 0,00 5,00 10,00 15,00 20,00 25,00 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 CpK Sim 51 CpK - SRLT original Sim 52 CpK - X +400mm Sim 53 CpK - Z +200mm; X + 2500mm
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 38 6.6 Análisis de la influencia de la variación del número de iteraciones ejecutado en los cálculos Se consideran dos equipos, un PC i7 64 bits, y un ordenador portátil con CPU Intel Core 2 T5600. Ilustración 21 - CpK vs Número iteraciones en PC Intel Core i7 64 bit Ilustración 22 - CpK vs Número iteraciones en PC Intel Core 2 T5600 Asimismo se adjuntan las gráficas del valor medio menos la nominal obtenido en estas simulaciones. 0,00 5,00 10,00 15,00 20,00 25,00 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 CpK CpK obtenido - vs. Nº iteraciones en PC Intel Core i7 Sim 61 CpK - 100 iteraciones Sim 62 CpK - 1.000 iteraciones Sim 63 CpK - 10.000 iteraciones Sim 64 CpK - 100.000 iteraciones Sim 65 CpK - 500.000 iteraciones 0,00 5,00 10,00 15,00 20,00 25,00 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 CpK CpK obtenido vs. Nº iteraciones en PC Laptop Intel Core 2 T5600 Sim 71 CpK - 100 iteraciones Sim 72 CpK - 1.000 iteraciones Sim 73 CpK - 10.000 iteraciones Sim 74 CpK - 100.000 iteraciones
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 39 Ilustración 23 - Media-nominal vs. número de iteraciones en PC i7 Ilustración 24 - Media-Nominal vs Número iteraciones en PC Intel Core 2 T5600 Como se puede ver en las gráficas, las diferencias entre 10 4 y 10 5 iteraciones son pequeñas, y prácticamente inapreciables ya entre 10 5 y 5*10 5 iteraciones. 0,1465 0,7431 0,00 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 0,09 0,10 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 Media - Nominal Media-Nominal obtenida vs. Nº iteraciones en PC Intel Core i7 Sim 61 Media-Nominal : 100 iteraciones Sim 62 Media-Nominal : 1.000 iteraciones Sim 63 Media-Nominal : 10.000 iteraciones Sim 64 Media-Nominal : 100.000 iteraciones Sim 65 Media-Nominal : 500.000 iteraciones 0,000 0,005 0,010 0,015 0,020 d1 d3 d4 d5 θ1 θ2 θ3 θ4 θ5 a1 a2 a3 a4 a5 α1 α2 α3 α4 α5 β2 Media-Nominal Media-Nominal obtenida vs. Nº iteraciones en PC Laptop Intel Core 2 T5600 Sim 71 Media-Nominal : 100 iteraciones Sim 72 Media-Nominal : 1.000 iteraciones Sim 73 Media-Nominal : 10.000 iteraciones Sim 74 Media-Nominal : 100.000 iteraciones
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 40 6.7 Tiempos de ejecución Para el cálculo del proyecto se han empleado varios ordenadores, cuyas características principales se pueden ver en la siguiente tabla. Se incluyen los tiempos de ejecución que se han obtenido de la simulación por Montecarlo, para cada ordenador, en función del nº de iteraciones. No se han realizado ya simulaciones de 1.000.000 iteraciones, ya que el tiempo empleado sería excesivo (superior a 36 horas). Tabla 7 - Comparativa tiempos de ejecución Iteraciones Ordenador 1 CPU: Intel Core i7 (64bits) Velocidad: 2.80 GHz S.O.: Windows 7 Professional Memoria RAM: 4 Gb Ordenador 2 CPU: Intel Core 2 T5600 (32 bits) Velocidad: 1.83 GHz S.O.: WinXP Home Edition v2002 SP3 Memoria RAM: 2 Gb 100 18 , 2 ” 13,38” 1.000 2’ 5 7 ” 2’ 30” 10.000 30 ’ 4 0 ” 24’ 46,2” 100.000 4h 42’ 13,7” 4h 8’ 37” 500.000 18h 8’ 52,0” --- 8 8 En la simulación con 500.000 iteraciones ha aparecido el error “Out of memory”, no pudiéndose computar.
Identificación de Parámetros cinemáticos de un brazo robot mediante el método “Circle Point” Máster Sistemas Mecánicos 2010-2011 41 7 Próximos pasos Como próximos pasos y trabajo futuro a realizar, a partir de la situación actual del proyecto, se tendrían los siguientes: • Optimización de la rutina de cálculo del círculo para evitar errores por matriz singular, con errores muy elevados (p.ej., en la simulación nº 14). • Programar módulos independientes de modelos de incertidumbre, de cada equipo de medición, en función de su estructura cinemática y principio de medida. Por ejemplo, dicho módulo daría la posibilidad de definir el ruido de entrada (ver el parámetro Ruidomed de la función Genera_Puntos_Circle_Point), para equipos de medida como un Láser Tracker, en 2 partes: Una como un ruido en la dirección del láser, debido al interferómetro, Y otra como un ruido, según el ángulo, debido al error de los encoder del Láser Tracker. • Realización de simulaciones incluyendo el estudio de los errores de excentricidad, en el simulador, para contrastar el resultado obtenido por el método de Circle-Point. • Realización de simulaciones en sistemas de Cálculo Paralelo (de mayor velocidad de cálculo que un ordenador personal), que permitirían realizar iteraciones del orden de 10 6 , para comparar resultados obtenidos en él con los obtenidos en el presente trabajo. • Validación experimental, es decir, comprobación del método con datos reales, ensayando el método con un robot y Láser Tracker. La medición física debería incluir la verificación en sentido de ida y vuelta, en cada articulación. En este sentido también se debería de verificar que los parámetros obtenidos en la práctica están dentro de los obtenidos teóricamente. • Validación experimental, como se ha comentado anteriormente, pero con un robot distinto, confirmando la característica modular de las funciones desarrolladas. • Comparación con otros métodos de identificación basados en optimizaciones tradicionales no lineales (16). Además de los estudios citados anteriormente, que podrían considerarse como una primera fase, se podría pasar a una segunda fase de trabajos y estudios, en la que se abordarían estudios y análisis de mayor complejidad y laboriosidad: Análisis de la influencia de la incertidumbre del conjunto de parámetros obtenidos sobre el error final de posicionamiento del brazo del robot, para n iteraciones. De esta forma se podría comprobar la influencia de la incertidumbre del método en los posibles errores finales de posicionamiento de la herramienta en la articulación final (tool frame). Será importante, en este análisis, definir de forma precisa el volumen a considerar para esta comprobación, dado que la naturaleza no lineal del modelo cinemático hace que la influencia del valor de los parámetros del modelo sobre el error final dependa de la posición del robot. Modelar las variaciones de los parámetros con la temperatura, sobre todo en parámetros de distancia, para ver la influencia de éste. Debido a la dificultad que este modelado encierra, y a la gran cantidad de variables que se deberían tener en cuenta, este modelado se realiza empíricamente habitualmente. Identificación del mejor conjunto de parámetros que identifican de forma óptima al robot: Para realizar esta identificación, se debería hacer un análisis del error de posicionamiento del brazo robot, en su posición de la herramienta en la articulación final, en diferentes posiciones y diferentes puntos en el volumen del robot. Para cada posición se tendría un distribución normal