Repositorio Institucional de Documentos
Abstract
Estudio sobre la influencia de los errores de calibración, tanto errores de calibrado articular como errores de estimación de los parámetros de Denavit y Hartenberg del robot, en la precisión estática del mismo. Este estudio se abordará principalmente desde el punto de vista del error de posición cometido, sin embargo también se investigará sobre los efectos producidos en la orientación y se realizará un breve estudio estadístico del error de posición debido a errores de calibración articular. Baquedano Lasheras, Alejandro; Romeo Tello, Antonio
Full text
IMPACTO DE LOS ERRORES DE CALIBRACIÓN EN LA PRECISIÓN DE UN ROBOT Autor: Alejandro Baquedano Lasheras Director: Antonio Romeo Tello Especialidad: Electrónica Industrial Convocatoria: Marzo
Impacto de los errores de calibración en la precisión de un robot Memoria 1 Índice 1.Introducción ............................................................................................................................................................ 2 1.1.Los inicios de la robótica ................................................................................................................................. 2 1.2.Bases de la robótica actual .............................................................................................................................. 2 1.3.Definición de Robot ........................................................................................................................................... 3 1.4.Límites de la robótica actual............................................................................................................................ 4 1.5.Componentes y conceptos básicos de un sistema robótico .................................................................. 6 1.5.1.Introducción ................................................................................................................................................ 6 1.5.2.El Brazo Robot ............................................................................................................................................ 6 1.5.3.Grados de libertad ..................................................................................................................................... 7 1.5.4.Sistemas de coordenadas ....................................................................................................................... 8 1.5.5Volumen de trabajo..................................................................................................................................... 9 1.5.6.Parámetros de Denavit y Hartenberg .................................................................................................. 10 1.5.7.Precisión estática .................................................................................................................................... 11 1.5.8.Repetibilidad ............................................................................................................................................. 12 1.5.9.Matriz jacobiana ....................................................................................................................................... 14 2.Objeto y alcance ................................................................................................................................................... 16 3.Metodología Aplicada ......................................................................................................................................... 17 3.1.Cálculo del error con la RoboticsToolBox ................................................................................................. 19 3.1.1.Errores debidos a defectos de calibración........................................................................................ 19 3.1.2.Errores de posición debidos a errores de estimación de los parámetros de Denavit y Hartenberg. .......................................................................................................................................................... 20 3.2.Error de posición .............................................................................................................................................. 21 3.3.Error de orientación ......................................................................................................................................... 21 4.Estudio de los errores de posición ................................................................................................................. 22 4.1.Error de posición debido a un error de calibrado en eje1...................................................................... 23 4.1.1.Simulación del caso estudiado ............................................................................................................ 26 4.2.Error de posición debido a un error de calibrado en eje2...................................................................... 29 4.2.1.Simulación del caso estudiado ............................................................................................................ 32 4.3.Error de posición debido a un error de calibrado en eje3...................................................................... 34 4.4.Error de posición debido a errores de calibrado en los ejes 1 y 2 ..................................................... 35 4.5.Error de posición debido a errores de calibrado en los ejes 1, 2 y 3 ................................................. 39 5.Estudio de los errores de orientación ............................................................................................................ 45 5.1.Errores de orientación debidos a errores en un solo eje ....................................................................... 46 5.2.Errores de orientación debidos a errores en varios ejes ....................................................................... 46 6.Error asociado a una incorrecta estimación de los parámetros DH ....................................................... 49 6.1.Código empleado ............................................................................................................................................. 51 6.2.Error de posición debido a un error en los parámetros y ........................................................... 52 6.2.1.Simulación del caso estudiado ............................................................................................................ 54 6.3.Error de posición debido a un error en ................................................................................................. 56 6.3.1.Análisis del error ...................................................................................................................................... 56 6.3.2.Simulación del caso estudiado ............................................................................................................ 59 6.4.Error de posición debido a un error en ................................................................................................. 62 6.4.1.Análisis del error ...................................................................................................................................... 62 6.4.2.Simulación del caso estudiado ............................................................................................................ 65 6.5.Error de posición debido a un error en ................................................................................................. 68 7. Bibliografía ........................................................................................................................................................... 69 8.ANEXOS ................................................................................................................................................................. 70
Impacto de los errores de calibración en la precisión de un robot Memoria 2 1.Introducción 1.1.Los inicios de la robótica No fue hasta finales de 1800, que se contempla de forma científica el concepto de autonomía e inteligencia artificial, cuando Nikola Tesla se propone crear una máquina capaz de tomar sus propias decisiones sin necesidad de un telecontrol. Más adelante, el escritor checo Karel Capek acuñaría el término robot como tal en su obra “Rossum 's Universal Robots”, que se estrenó en Praga en 1921. El término deriva de la palabra checa robota, que define un trabajo forzado o de carácter feudal y la obra trataba de la deshumanización en una sociedad tecnológica. En 1926 Fritz Lang tocaría el mismo tema, ésta vez con robots mecánicos, en la película “Metrópolis”. La robótica como ciencia que estudia el robot y su uso se concebiría más tarde, cuando en 1942 el escritor de origen ruso Isaac Asimov escribió el relato corto “Runaround” y la recopilación posterior “Yo, Robot”. Desde entonces, los robots no sólo han acaparado la atención de la ciencia ficción sino también la de un creciente número de investigadores, presentándose como una excelente alternativa para todos aquellos trabajos que por una u otra causa resultan indeseables para el ser humano. 1.2.Bases de la robótica actual El inicio del desarrollo de la robótica actual puede fijarse en la industria textil del siglo XVIII, cuando en 1801 Joseph Jacquard inventa una máquina textil programable mediante tarjetas perforadas denominada Teal Programable y que se produciría en masa. Conforme la Revolución Industrial progresaba, continuó el desarrollo de estos agentes mecánicos, aunque el desarrollo de un verdadero robot no fue posible hasta los años cuarenta, con la aparición de la computadora y la cada vez mayor integración de los circuitos. Los primeros robots industriales fueron los “Unimates”, desarrollados por George Devol y Joe Engleberger. Las primeras patentes aparecen en 1946 y pertenecen a Devol, por sus muy primitivos robots capaces de trasladar maquinaria de un lugar a otro. También en 1946 aparece la primera computadora: J. Presper Ecker y John Maulchy construyen el Eniac en la
Impacto de los errores de calibración en la precisión de un robot Memoria 3 universidad de Pensilvania y la primera máquina digital de propósito general se desarrolla en el MIT. Más tarde Devol, en 1954, diseña el primer robot programable y acuña el término "Autómata universal" que posteriormente recorta a Unimation. Ese sería el nombre de la primera compañía de robótica, fundado por Engleberger, que se considera el padre de la robótica. 1.3.Definición de Robot Al hablar de robots se piensa en un dispositivo fijo al suelo o al techo, con una cierta estructura mecánica que le confiere varios grados de libertad (generalmente de aspecto antropomorfo); con un computador encargado del control de los movimientos y cuya misión no va más allá de simple transportador de piezas o, a lo sumo y con la ayuda de herramientas terminales, para la manipulación de algún producto. Esta idea de la robótica abunda incluso en las definiciones más o menos oficiales. Según el instituto norteamericano Robot Industry Association (RIA) es la siguiente: "Se entiende por robot industrial a un manipulador multifuncional reprogramable, diseñado para desplazar materiales, piezas, herramientas o dispositivos especiales mediante movimientos programados variables que permiten llevar a cabo tareas diversas ". Esta definición se queda algo desfasada porque las tareas que puede realizar un robot son más complejas que las recogidas. La Swedish Industrial Robot Association (SWIRA) define un robot como: "Una máquina manipuladora automáticamente controlada, reprogramable, multi-propósito con o sin locomoción para uso en aplicaciones industriales de automatización". Esta definición es más completa, pues incluye la posibilidad de movilidad y generaliza las operaciones posibles. Además está actualmente considerada por la Norma ISO. Japón tiene su propia definición más amplia: "Un robot es todo aquel dispositivo mecánico con algún grado de
Impacto de los errores de calibración en la precisión de un robot Memoria 4 libertad, destinado a su utilización industrial como manipulador". La definición más precisa es la aportada por la Asociación Francesa de Normalización (AFNOR) aprobada en Agosto de 1983. AFNOR define en primer lugar el manipulador y a continuación el robot industrial. Manipulador: "Mecanismo compuesto generalmente de elementos en serie, articulados o deslizantes entre sí, cuyo objetivo es el agarre y desplazamiento de objetos siguiendo diversos grados de libertad. Es multifuncional y puede ser mandado directamente por un operador humano o por cualquier sistema lógico (levas, lógica neumática, lógica eléctrica cableada o bien programado)". Robot industrial: "Manipulador automático, con servo sistemas de posición, reprogramable, polivalente, capaz de posicionar y desplazar materiales, piezas útiles o dispositivos especiales a lo largo de movimientos variables y programables para la ejecución de tareas variadas. Estas máquinas polivalentes son generalmente concebidas para efectuar la misma función de manera cíclica y pueden ser adaptados a otras funciones sin modificación permanente del material". 1.4.Límites de la robótica actual Michael Knasel, director del Centro de Aplicaciones Robóticas de Science Application Inc., explicó en la exposición Robots-8 en Detroit (1984) que los robots deberían evolucionar durante cinco generaciones. Las dos primeras ya se habían manifestado en los ochenta e incluían la gestión de tareas repetitivas, pero estaban muy limitadas en cuanto a movimiento se refiere. La tercera generación incluiría visión artificial, la cuarta movilidad avanzada en exteriores e interiores y la quinta entraría en el dominio de la inteligencia artificial. Lamentablemente, si bien se han cumplido algunas de estas expectativas, aún no se han conseguido modelos lo suficientemente efectivos. Los límites de la robótica actual se pueden apreciar en contraste con las expectativas previstas por Joseph Engelberger para la robótica de los ochenta: - Seis articulaciones de precisión entre la base del robot y el extremo de un manipulador. - Programación sencilla e intuitiva Adaptación al medio mediante estímulos sensoriales.
Impacto de los errores de calibración en la precisión de un robot Memoria 5 - Margen de movimiento en rangos de 0.3 mm. - Capacidad de manipular pesos de hasta 1 SO Kg. - Control de movimiento punto a punto y de seguimiento de trayectorias. - Sincronización con blancos móviles. - Compatibilidad con ordenadores personales. - Alta fiabilidad. - Visión artificial que incluya al menos capacidad de orientación y reconocimiento. - Sensores táctiles. - Coordinación de las distintas partes de la unidad. - Capacidad de corrección de trayectorias en línea. - Movilidad. - Optimización de movimiento. - Conservación de la energía. - Apéndices de propósito general. - Comunicación por voz. - Seguridad de acuerdo a las leyes de Asimov de la robótica. Engelberger aseguraba que los primeros diez puntos ya se habían conseguido a principios de los ochenta. Los sistemas sensoriales por visión y tacto, si bien existen, se limitan a aplicaciones muy básicas y específicas con bajo nivel de detalle debido a la enorme carga computacional inherente al procesado de imagen. En lo que respecta al movimiento, se progresa, aunque con menor precisión de la deseable debido a imperfecciones, deslizamiento y problemas mecánicos en general. La energía necesaria para operar una unidad robótica ha disminuido mucho desde el 79 y se han conseguido unidades capaces de funcionar con baterías solares, como las TEN-TOMUSHI de Sanyo. No obstante, debe seguir trabajándose en este punto, especialmente en robots destinados a desplazarse en exteriores y entornos hostiles, donde la autonomía del móvil es un factor crítico. Respecto a la comunicación por voz, en tanto que existe la compatibilidad con ordenadores personales y éstos soportan paquetes de reconocimiento de voz distribuidos de forma comercial, es un problema resuelto
Impacto de los errores de calibración en la precisión de un robot Memoria 6 de forma cada vez más satisfactoria. 1.5.Componentes y conceptos básicos de un sistema robótico 1.5.1.Introducción La mayoría de robots tienen los siguientes componentes comunes (ver figura 2.1), aunque la estructura mecánica, eléctrica, y computacional de un robot puede variar apreciablemente: - Un manipulador o brazo (la unidad mecánica), incluyendo una garra o elemento final. - Un controlador (El módulo "inteligente"). - Una unidad de potencia. - Un sistema sensorial. 1.5.2.El Brazo Robot El brazo robot consiste en una serie de miembros rígidos, llamados elementos, conectados por articulaciones. Al moverse una articulación se mueven también los siguientes elementos unidos a ella. El movimiento se debe a un actuador, que bien puede ir conectado directamente o a través de alguna transmisión mecánica (con el objetivo de producir un par, velocidad o ganancia). El último elemento con el que termina el manipulador está diseñado para que pueda adaptarse una herramienta. El manipulador podría dividirse en tres partes: - Los elementos mayores. - Los elementos menores (componentes de la muñeca). - El elemento terminal (garra o herramienta). Los elementos mayores los forman los pares articulación-elemento, que sirven para posicionar el extremo del brazo en un punto del espacio, y que generalmente son los tres primeros. Los elementos menores están asociados con la orientación del
Impacto de los errores de calibración en la precisión de un robot Memoria 7 elemento final y junto con los elementos mayores se obtiene el posicionamiento y orientación del elemento final. El elemento final consiste en el mecanismo que permite desempeñar una función al robot, ya sea una garra, soldador, taladro, etc. 1.5.3.Grados de libertad Se denomina grados de libertad del sistema al número de coordenadas independientes necesarias para expresar la posición de todas sus partes. Para un elemento final típico de un robot, la garra o el punto central de la herramienta puede ponerse donde se quiera en el espacio, para lo cual se necesitan tres grados de libertad, y si se quiere poder orientar dicho punto en cualquier dirección necesitaremos otros tres grados de libertad más. Por lo tanto se necesitan seis grados de libertad para controlar el movimiento de cualquier elemento final con respecto a la base del robot permitiendo alcanzar cualquier posible orientación y posición dentro del espacio de trabajo del robot. Los tres primeros grados de libertad, que definen la posición, se denominan grados de libertad principales, y nos marcan el espacio de trabajo donde el robot puede trabajar y se controla mediante los actuadores situados en el cuerpo del robot. Los otros tres grados de libertad están localizados cerca del punto central de la herramienta del robot y sirven como "muñeca" para controlar la garra u orientación de la herramienta. Estos tres grados se denominan giro, elevación y guiñada. Cuando añadimos una nueva articulación podemos estar añadiendo un nuevo grado de libertad, pero esto no es siempre así, por eso cuando no ocurre se dice que añade un grado de movilidad, que a veces es necesario para dotar de una movilidad específica al brazo para poder evitar obstáculos situados dentro del campo de trabajo. Al final los grados de libertad se basan en si se puede desplazar y rotar el robot en el eje x, eje y, eje z. Otra razón para añadir nuevas articulaciones que no añadan grados de libertad adicionales es la limitación de rotación de las articulaciones rotativas, que generalmente no pueden rotar 360° por restricciones mecánicas. Así
Impacto de los errores de calibración en la precisión de un robot Memoria 8 añadiendo nuevos grados de movilidad podemos compensar estas limitaciones. Existen cinco tipos de articulaciones disponibles, pero generalmente sólo se usan dos tipos. Aquí podemos ver los tipos existentes y los grados de libertad que tienen asociados. 1.5.4.Sistemas de coordenadas Para mover el robot a cualquier punto hacen falta mínimo tres ejes, por lo que existen cuatro tipos de sistemas de coordenadas para mover los robots según el tipo de las articulaciones: - 3 ejes traslación -> Sistema Cartesiano. - 2 ejes traslación+ 1 eje rotación -> Sistema Cilíndrico. - 1 eje traslación+ 2 ejes rotación-> Sistema Polar. - 3 ejes rotación-> Sistema Cartesiano. Fig.1. Tipos de articulaciones
Impacto de los errores de calibración en la precisión de un robot Memoria 15 [ ] 𝑱∙ [ ⋮⋮⋮⋮ ] siendo 𝑱 [ ⋯ ⋮ ⋱ ⋮ ⋯ ] La matriz 𝑱 se denomina matriz jacobiana. Puesto que el valor numérico de cada uno de los elementos [ ] de la matriz jacobiana dependerá de los valores instantáneos de las coordenadas articulares , el valor de la matriz jacobiana será diferente en cada uno de los puntos del espacio articular.
Impacto de los errores de calibración en la precisión de un robot Memoria 16 2.Objeto y alcance Considerando la diferencia entre repetibilidad (repeatibility) y precisión estática (robot accuracy), la consecución de una precisión estática elevada está indefectiblemente asociada a una adecuada calibración del robot. Como ha podido comprobarse en la definición del mismo concepto, los niveles de calibración articular y cinemático no afectan a la repetibilidad, sino que tan sólo afectan a la precisión estática. Las principales fuentes de error en el alcance de la localización (coordenadas de la tarea) deseada se pueden clasificar en: Errores sistemáticos en el sensado de la posición articular. Errores asociados a una incorrecta estimación de los parámetros geométricos (DH) del robot. Errores no geométricos, derivados de flexiones, holguras, fricciones, desempeño del servocontrol,… En [Mooring 91], se estudian las bases de la calibración de robots manipuladores, estableciéndose 3 niveles de calibración: 1. Articular: ¿cuál es la diferencia entre las auténticas coordenadas articulares y lo que arrojan los sensores articulares? El objeto de esta calibración es establecer correctamente el origen (o referencia inicial) articular. 2. Cinemática: ¿cuál es la diferencia entre las coordenadas de la tarea predichas por el modelo geométrico directo y las auténticas? Aquí se incluyen los efectos del error en el sensado articular descritos en el nivel anterior. Al objetivo de establecer correctamente el origen articular, se le suma el correcto establecimiento de los parámetros DH. 3. No cinemática (o completa), que considera además los errores de origen no geométrico, como fricciones, servocontrol, holguras, flexiones, etc El objetivo del PFC es el análisis de la influencia de una incorrecta calibración cinemática (errores tanto en sensado articular como en parámetros DH) en la precisión estática de un robot. Dicha precisión estática se va a tratar en relación al error de posición y de orientación, no según lo definido en la Norma ISO 9283:1998, pues la definición de precisión estática contenida en
Impacto de los errores de calibración en la precisión de un robot Memoria 17 dicha norma la enfoca desde un punto de vista estadístico, sin tener en cuenta los orígenes de los resultados obtenidos. En primera instancia, se analizará, con la ayuda de Matlab para las simulaciones, la influencia del error articular en el espacio de la tarea para el caso del robot Puma 560. La herramienta que permite realizar dicho análisis es el modelo variacional directo, recogido en la matriz jacobiana geométrica [Barrientos 07] del robot. Utilizando dicha matriz, se mostrará gráficamente la influencia en el espacio de la tarea de un error sistemático de 1 grado en cada articulación. También se intentará formalizar la transformación de la imprecisión articular al espacio de la tarea, eligiendo descriptores adecuados de dicha imprecisión. Como 2º paso se analizará la influencia de errores en parámetros DH representativos. Para ello se usará la notación propuesta en [Mooring 91]. Utilizando dicha notación, se mostrará gráficamente la influencia en el espacio de la tarea de un error sistemático de 1 unidad en cada parámetro y articulación. También se intentará formalizar la transformación de la imprecisión paramétrica al espacio de la tarea, eligiendo descriptores adecuados de dicha imprecisión. 3.Metodología Aplicada A la hora de abordar el efecto de los errores de calibración en las prestaciones de un brazo robot, en lo primero en que cabe pensar es en realizar un estudio estocástico de las características de precisión estática y repetibilidad del robot. Sin embargo, en este estudio se procederá a realizar un análisis cuantitativo y cualitativo de los errores de posición y orientación debidos a la influencia de una incorrecta calibración cinemática. Para el cálculo de dichos errores se procederá a realizar un análisis formal de los mismos para los casos más representativos. Sin embargo, dada la elevada complejidad de los cálculos en los casos en los que se combinan errores en varias articulaciones además de para apoyar visualmente los resultados obtenidos en los análisis formales, se procederá a la simulación del error mediante la herramienta Robotic Toolbox (RToolBox) para MATLAB. La Robotic Toolbox contiene el modelo completo del robot Puma560, objeto de este estudio, además de otras funciones útiles para estudios
Impacto de los errores de calibración en la precisión de un robot Memoria 18 relacionados con la robótica. El modelado de Puma560 elegido para este estudio coincide con el contenido en la herramienta (mismos parámetros de Denavit y Hartenberg), por lo que resulta idónea para simular los resultados del estudio. Parámetros de Denavit y Hartenberg definidos para el robot Puma 560 en la Robotic Toolbox: Articulación 1 ⁄ 0 0 0 2 0 0.4318 0 0 3 ⁄ 0.0203 0 0.15005 4 ⁄ 0 0 0.4318 5 ⁄ 0 0 0 6 0 0 0 0 Asignación de referencias consistente con los parámetros DH contenidos en la Robotic Toolbox junto con una imagen de la postura definida en las mismas. Fig.6. Esquema de referencias DH Fig.7. Robot Puma560 con sistema Origen
Impacto de los errores de calibración en la precisión de un robot Memoria 19 incq123=[pi/180 0 0 0 0 0]'; % se define un error articular (offset en la calibración) de 1 grado en el eje1 … q=[0 rango_q2(i) rango_q3(j) 0 0 0]'; % se define una posición “q” error_total=jacob0(p560,q)*incq123; % cálculo del vector diferencial de posición del punto muñeca mediante el uso de la matriz jacobiana 3.1.Cálculo del error con la RoboticsToolBox Para el estudio del error con la Robotic Toolbox se han empleado dos métodos diferentes pero igualmente válidos. Lo primero, para ambos casos, es definir los rangos articulares de las articulaciones que definen la postura del robot, y . Para ambos se ha definido un rango simétrico de posiciones desde la postura “ready” (brazo estirado hacia arriba), con ( ⁄) y ( ⁄), ambas posturas en radianes. 3.1.1.Errores debidos a defectos de calibración En el estudio de errores con esta causa, tanto de posición como de orientación, se ha procedido de manera similar: - Definir vector de errores. Éste es un vector de seis elementos, cada uno de los cuales se corresponde con el error cometido en el eje correspondiente. - Mediante el empleo de la matriz jacobiana del robot, calcular para cada posición dentro del rango articular definido el vector del error cometido. Esto se consigue multiplicando la matriz jacobiana para una posición determinada por el vector de errores definido anteriormente. - Obtención del valor del error: o Para el caso de errores de posición, calcular el valor absoluto de la componente de posición del vector de error (el vector de error obtenido con la matriz jacobiana contiene una componente de posición y otra de orientación). … err_pos=norm(error_total(1:3)); % obtención del módulo del vector diferencial de posición del punto muñeca para obtener la distancia euclídea resultado(j,i)=err_pos; …
Impacto de los errores de calibración en la precisión de un robot Memoria 20 … trans=diff2tr(error_total); % conversión del vector diferencial de la posición del punto muñeca a matriz de traslación [vec,angulo]=TR2ROTVEC(trans); % conversión de la matriz de traslación a un vector de rotación resultado(j,i)=angulo; … o Para el caso de errores de orientación, transformar el vector de error obtenido en una matriz de traslación y dicha matriz de traslación a un vector de rotación. Acto seguido capturar la componente rotacional y obviar la componente direccional del vector. 3.1.2.Errores de posición debidos a errores de estimación de los parámetros de Denavit y Hartenberg. En el estudio de errores con esta causa se ha procedido de la siguiente forma: - Definir una nueva matriz de parámetros para el Puma560 induciendo en la misma el error a tratar en cada caso. - Mediante la función “fkine”, calcular las posiciones del Puma560 sin perturbar y perturbado para todo el rango articular. - Para cada configuración, restar las posiciones del Puma560 sin perturbar y perturbado. - Calcular el módulo del vector obtenido tras la resta para obtener la distancia euclídea. … posTRUE=fkine(p560,q); % se calcula la posición del robot sin error posFAKEd=fkine(p560FAKEd,q); % se calcula la posición del robot con error en parámetro DH error_total=posTRUE(:,[4])-posFAKEd(:,[4]); % se restan las coordenadas del punto muñeca de ambos modelos de robot err_pos=norm(error_total(1:3)); % obtención del módulo del vector diferencial de posición del punto muñeca para obtener la distancia euclídea resultado(j,i)=err_pos; …
Impacto de los errores de calibración en la precisión de un robot Memoria 21 3.2.Error de posición El error de posición en el caso a estudiar se define como la diferencia espacial entre un punto objetivo en el espacio, ( ) y el punto finalmente alcanzado, ( ). Dicho error podría medirse teniendo en consideración no sólo la magnitud, sino también la dirección del mismo. Sin embargo, dada la poca relevancia de la dirección del error de posición puesto que ésta depende directamente de la posición del robot en cada momento, se obviará para el objeto de este estudio. Para el estudio de la posición alcanzada se empleará el punto muñeca del robot puesto que los sólidos 4, 5 y 6 están definidos con una longitud nula (véase la tabla de parámetros de Denavit y Hartenberg, donde los parámetros y son nulos para ), por lo que se encuentran en el mismo punto y tienen una influencia nula en lo que respecta a la posición del extremo del robot. La condición de longitud nula de los sólidos 4, 5 y 6 implica que para el estudio de los errores de posición no se los tenga en cuenta a la hora de realizar los análisis y por tanto se empleará sólo el “brazo” del robot; sin embargo, en el cálculo de los errores de orientación no pueden obviarse, ya que en este aspecto sí que tienen una influencia notable. 3.3.Error de orientación Para este estudio, se ha definido el error de orientación como la distancia angular a girar en torno a un vector dado para alcanzar, desde la orientación errónea, la orientación deseada. En el estudio de este error se obviará el vector alrededor del cual se comete el error, ya que carece de importancia alguna. Tal y como se ha comentado en el apartado anterior, para el cálculo del error de orientación han de tenerse en cuenta todos los ejes del robot, puesto que todos contribuyen a la orientación alcanzada por el extremo del mismo.
Impacto de los errores de calibración en la precisión de un robot Memoria 22 4.Estudio de los errores de posición Código empleado para la simulación y obtención de los errores de posición debidos a errores de calibración de 1 grado en diferentes articulaciones:
Impacto de los errores de calibración en la precisión de un robot Memoria 23 4.1.Error de posición debido a un error de calibrado en eje1 El error de posición debido a un error angular se mide de la siguiente forma: ( ) ( ) En lo que se refiere a un error de posición del punto muñeca del robot Puma560 originado por un error de calibración en el eje 1, es la distancia del eje 1 al extremo del robot (punto muñeca). Para el estudio de este caso se obviará el parámetro de Denavit y Hartenberg debido a que añade complejidad a los cálculos y tiene una influencia despreciable en el error. A continuación se muestra un diagrama con la distribución espacial de los sólidos del robot y sus respectivas longitudes para apoyar visualmente los cálculos realizados: Fig.8. Esquema error debido a giro
Impacto de los errores de calibración en la precisión de un robot Memoria 24 ( ) ( ) Queda claramente reflejada en el diagrama la influencia de las configuraciones articulares de y , y respectivamente, en la magnitud del parámetro , siendo éste: √ √ ( ( )) Fig.9. Esquema posiciones1
Impacto de los errores de calibración en la precisión de un robot Memoria 31 En nuestro caso: √ ( ) Por lo tanto, quedará: ( ( )) √ ( ( )) √ ( ( )) Y por tanto siendo la expresión del error de posición para el caso de un error de calibración en el eje 2 de grados: √ ( ( )) ( ) De esta expresión pueden obtenerse los siguientes resultados: - El error de posición será máximo para un dado cuando: ⇒| ( ( ))| ⇒ ( ( )) ⇒ ( ) ⇒ ( ) Así pues, para ( ) el resultado es: √ √( )
Impacto de los errores de calibración en la precisión de un robot Memoria 32 ( ) ( ) - El error de posición será mínimo para un dado cuando: ⇒| ( ( ))| ⇒ ( ( )) ⇒ ( ) ⇒ ( ) Así pues, para ( ) el resultado es: √ √( ) | | | | ( ) 4.2.1.Simulación del caso estudiado En la siguiente gráfica se muestra el error de posición del punto muñeca debido a un error de 1 grado en la segunda articulación. Este error se muestra en función de la posición angular en radianes de la articulación 3 en todo su rango.
Impacto de los errores de calibración en la precisión de un robot Memoria 33 Como se puede observar y de acuerdo con lo estudiado anteriormente, existe una posición de para la que el error será máximo independientemente de la posición de . Esta posición articular es ( ) , que se corresponde, prácticamente, con la posición de “brazo estirado”. Este resultado tiene su base en que es en esta configuración cuando el punto muñeca está más alejado del eje 2(en el plano de giro de dicho eje), por lo que un error de 1 grado se verá amplificado, en error de posición del punto muñeca, por la longitud de los sólidos 2 y 3 y por su posición. Fig.18. Gráfica error por defecto de calibración en 2 Fig.19. Posición Puma 560
Impacto de los errores de calibración en la precisión de un robot Memoria 34 4.3.Error de posición debido a un error de calibrado en eje3 ( ) ( ) En lo que se refiere a un error de posición del punto muñeca del robot Puma560 originado por un error de calibración en el eje 3, es la distancia del eje 3 al extremo del robot (punto muñeca). Para el estudio de este caso se tendrá en cuenta el parámetro de Denavit y Hartenberg . Así pues, en este caso la distancia coincide con (tal y como puede constatarse en el diagrama del caso de un error de posición originado por un error de calibración en el eje 2) siendo ésta: √ Resultando el error de posición: √ ( ) Por lo que en este caso se presenta un error constante para un dado. Fig.8. Esquema error debido a giro
Impacto de los errores de calibración en la precisión de un robot Memoria 35 4.4.Error de posición debido a errores de calibrado en los ejes 1 y 2 En este caso, en el cual se presentan errores en diferentes articulaciones simultáneamente no se procederá al análisis formal del mismo, pues resulta innecesario además de complejo, ya que los errores han sido tratados de forma individual y escapa al objetivo de este estudio. Sin embargo, se abordará el caso en cuestión desde la simulación del error, pues resulta sencillo obtener la gráfica correspondiente. En la siguiente gráfica se muestra el error de posición del punto muñeca debido a errores de 1 grado en las articulaciones 1 y 2. Este error se muestra en función de la posición angular en radianes de las articulaciones 2 y 3 en todo su rango. En un primer análisis a simple vista se observa que, con respecto a la situación de un error en el eje 1 solamente, siguen manteniéndose los errores Fig.20. Gráfica del error por defecto de calibración en 1 y 2
Impacto de los errores de calibración en la precisión de un robot Memoria 36 máximos para las posiciones articulares( ) y ( ) y se observa un especial incremento del error para toda posición de con ( ). Esto se correspondería con la suma de los errores de posición debidos a errores de calibración en los ejes 1 y 2 por separado. Sin embargo, un estudio más detallado de la gráfica permite distinguir la existencia de dos configuraciones para las que el error se acerca a cero, como puede apreciarse en la siguiente vista de la misma gráfica. Estas configuraciones de error prácticamente cero coinciden con las posiciones ( ) y ( ). Estas posiciones de se encuentran fuera de los rangos articulares limitados por el fabricante(que no son de en ninguna articulación debido a causas constructivas y de seguridad, como evitar colisiones entre los propios sólidos del robot), que para esta articulación sería: ( ) . Las posiciones y son las siguientes: Fig.21. Vista frontal Gráfica del error por defecto de calibración en 1 y 2
Impacto de los errores de calibración en la precisión de un robot Memoria 37 Como puede observarse, el punto muñeca se encuentra en la posición más cercana posible a los ejes 1 y 2, por lo tanto, errores en los mismos apenas tendrán efecto en la posición final del punto muñeca. Así mismo, en todas las posiciones que se corresponderían con la recta que une los puntos de las posiciones y , se observa tanto para este caso, como para todos los que incluyen un error en el eje1, una zona de errores mínimos(marcado en verde en la siguiente gráfica). Fig.22. y 23. Posiciones del Puma560 Fig.24. Vista cenital Gráfica del error por defecto de calibración en 1 y 2
Impacto de los errores de calibración en la precisión de un robot Memoria 38 Esta zona, con “forma de valle” en las gráficas y definida en coordenadas articulares por la función , se corresponde con un plano de posiciones del punto muñeca que contiene las posiciones más cercanas posibles al eje de giro del eje1 para cada posición de q3, minimizando así el error de posición provocado por el mismo y en consecuencia el total. Dicho plano define un cilindro entorno al eje 1 que coincide con el límite interior del volumen de trabajo del robot Puma560 tal y como se ilustra a continuación: Fig.25. Vistas Plano mínimo error
Impacto de los errores de calibración en la precisión de un robot Memoria 39 4.5.Error de posición debido a errores de calibrado en los ejes 1, 2 y 3 En este caso, en el cual se presentan errores en diferentes articulaciones simultáneamente no se procederá al análisis formal del mismo, pues resulta innecesario además de complejo, ya que los errores han sido tratados de forma individual y escapa al objetivo de este estudio. Sin embargo, se abordará el caso en cuestión desde la simulación del error, pues resulta sencillo obtener la gráfica correspondiente. En la siguiente gráfica se muestra el error de posición del punto muñeca debido a errores de 1 grado en las articulaciones 1, 2 y 3. Este error se muestra en función de la posición angular en radianes de las articulaciones 2 y 3 en todo su rango. Como puede observarse, debido a la inclusión del error constante de posición ocasionado por el error de calibraión de 1 grado cometido en el eje 3, han desaparecido las dos configuraciones para las que el error era cuasi nulo además de incrementarse todos los errores cometidos para todas las configuraciones. Fig.26. Gráfica por error de calibración en 1, 2 y 3
Impacto de los errores de calibración en la precisión de un robot Memoria 40 Siguen manteniéndose los errores máximos para las posiciones articulares( ) y ( ) . 4.5.1.Estudio estadístico de los errores de posición provocados por errores de calibración en los tres primeros ejes Aunque no entra dentro del objeto de este estudio, a continuación se va a proceder a simular, a modo informativo, el error de posición originado por: - Errores de calibración aleatorios de distribución gausiana, con valor medio nulo y desviación estándar de 1 grado, lo que hace que en el entorno de la media nos encontremos con el 95% de los valores. Dichos errores se aplicarán en los ejes 1, 2 y 3 para tres posiciones características diferentes del robot. En dicha simulación se va a generar una nube de puntos de error de posición para cada postura de las mencionadas. También se van a calcular para cada caso, la media y dispersión de la nube de puntos alcanzada y la media y desviación del error de posición (euclídeo). A continuación se muestra el código empleado para las simulaciones: >> puma560; % imprescindible, pues alli estan todos los datos geometricos del puma num_pruebas=100; error_articular=randn(num_pruebas,3)*pi/180; % 3 vectores de error articular de media 0 y sigma=1 grado qprueba=qz; % seleccionar la configuracion articular sobre la que queremos añadir el error localizacion_teorica=fkine(p560,qprueba); qperturbada=ones(num_pruebas,6)*diag(qprueba)+[error_articular zeros(num_pruebas,3)] localizaciones=fkine(p560,qperturbada) figure(1) plotbot(p560,qprueba) hold on plot3(localizaciones(:,13),localizaciones(:,14),localizaciones(:,15), 'b.') %pinto los puntos en la misma grafica que el robot hold off %Analisis de las localizaciones alcanzadas localizacion_media=mean(localizaciones(:,13:15)) …
Impacto de los errores de calibración en la precisión de un robot Memoria 47 No obstante, hay sistemas en los que esto no es así. Por ejemplo, la configuración articular propiciada por los ejes 2 y 3 puede ocasionar que alguno de los ejes de la muñeca sea paralelo, antiparalelo u ortogonal al eje 1, lo que implica que el error resultante sea variable y dependiente de y . Para apoyar las conclusiones obtenidas se ha realizado una simulación correspondiente a cometer un error de 1 grado en la calibración de todas las articulaciones. El resultado obtenido es el siguiente: En esta primera simulación es donde se confirma que existen combinaciones de errores de calibración que propician errores de orientación variables. A continuación se ha procedido a realizar simulaciones con diferentes combinaciones de ejes erróneos. Para todos los resultados de errores variables, la gráfica tiene la misma forma; sólo cambia ligeramente para las situaciones en las que sólo se comete error en las articulaciones (1,6) y (1,4), situaciones para las que se puede llegar a observar un error en la gráfica de valor nulo. Esto es así debido a que para las configuraciones dadas de mínimos, el error en el eje 1 quedaría compensado con el error en los ejes 4 o 6, ya que ambos errores son positivos y se encontrarían en sentidos opuestos. Así mismo, las situaciones de error máximo se producirán para configuraciones articulares en las que los errores de 1 y 4 o 6 se acumulen en su totalidad. Figs.31. y 32. Gráficas generales de error de orientación variable
Impacto de los errores de calibración en la precisión de un robot Memoria 48 Una vista vertical de la gráfica permite conocer las configuraciones de error máximo y mínimo: Y aquí la gráfica del error de orientación debido a errores de calibración de 1 grado en los ejes 1 y 6, donde se observa la compensación de los errores articulares resultando un error nulo de orientación: A continuación se cuantifican los errores de orientación medidos en radianes para errores articulares de 1º en determinadas articulaciones: ; ; ; ; ; Fig.33. Vista cenital Gráfica general de error de orientación variable Fig.34. Vista frontal Gráfica de error de orientación variable por error de calibración en 1 y 6
Impacto de los errores de calibración en la precisión de un robot Memoria 49 ; ; ; 6.Error asociado a una incorrecta estimación de los parámetros DH Los robots industriales se emplean, por norma general, para realizar trabajos repetitivos de precisión transportando cargas o herramientas pesadas a velocidades elevadas. También es habitual que dichos robots no trabajen en células robotizadas en solitario, sino que trabajan en sincronismo con otras herramientas y muy habitualmente compartiendo volumen de trabajo con uno o más robots. Por este motivo existe la posibilidad de colisiones de todo tipo con los elementos del entorno debido a un diseño erróneo de la célula robotizada, por programas defectuosos de los procesos a realizar por los robots o, sobretodo, por accidentes imprevistos. Estas colisiones y otros factores como el desgaste de los rodamientos o cometer un error al cambiar el motor de una articulación generan una serie de efectos como la aparición de holguras en determinados ejes o inclinaciones de los ejes con respecto a la configuración original. Estos efectos se pueden estudiar asumiendo una modificación de los parámetros de Denavit y Hartenberg originada por los efectos ya explicados (errores en la fabricación pueden ocasionar que los parámetros DH estén mal estimados sin existir ninguno de los defectos antes mencionados). En este apartado del estudio, se definirán en MATLAB nuevas matrices de parámetros del Puma 560 en las que se modificarán los parámetros de Denavit y Hartenberg para simular, por separado, variaciones en la ortogonalidad de los ejes y en la localización de los mismos. Dichas variaciones están diseñadas para simular defectos lo más realistas posible, dentro de las posibilidades de que los mismos ocurran. A continuación se ofrece una explicación visual de los errores de estimación de los parámetros de Denavit y Hartenberg inducidos en el robot Puma 560 con objeto de una mejor comprensión de los mismos.
Impacto de los errores de calibración en la precisión de un robot Memoria 50 En la anterior imagen se encuentran dibujados en verde los ejes de giro objetivo de estudio originales. En azul se encuentran dibujados los ejes de giro 3 y 5, representando este último la posición del punto muñeca del robot, tras inducir un defecto de estimación de los parámetros y respectivamente. Fig.35. Vista ejes reales y erróneos por errores en la estimación de los parámetros DH
Impacto de los errores de calibración en la precisión de un robot Memoria 51 En rojo se encuentran representados los nuevos ejes de giro 2, 3 y 4 tras inducir un error de 1º en los parámetros , y por separado. 6.1.Código empleado Para la realización de las simulaciones se ha empleado el siguiente código de MATLAB variando la matriz modificada (denominadas FAKEx en el código, denotando “x” el o los parámetros DH modificados) para cada caso.
Impacto de los errores de calibración en la precisión de un robot Memoria 52 6.2.Error de posición debido a un error en los parámetros y Los parámetros de Denavit y Hartenberg y representan la longitud de los sólidos dos y tres del robot Puma 560. Un error en la estimación de los mismos podría cometerse al realizar la sustitución de algún motor y fijar el nuevo en una posición ligeramente desplazada con respecto a la realizada en el proceso de fabricación. El error cometido al realizar la colocación del nuevo motor será muy pequeño, de algunas décimas de milímetro. A continuación se va a tratar el error de posición originado por un error de estimación de los parámetros y por separado y en conjunto. Para el estudio de este caso se obviará el parámetro de Denavit y Hartenberg debido a que añade complejidad a los cálculos y tiene una influencia despreciable en el error: -En el caso de un error en el parámetro , el error de posición coincidirá directamente con el error cometido en la estimación del parámetro en magnitud y dirección, tal y como se muestra en el siguiente diagrama: -En el caso de un error en el parámetro , el error de posición coincidirá directamente con el error cometido en la estimación del parámetro en magnitud y dirección, tal y como se muestra en el siguiente diagrama: Fig.36. Esquema error en la estimación del parámetro DH a2
Impacto de los errores de calibración en la precisión de un robot Memoria 53 -En el caso de un error conjunto en la estimación de los parámetros y , el error de posición será una combinación geométrica de los errores cometidos, tal y como se muestra en el siguiente diagrama: Por lo que el error de posición cometido será: √( ( )) ( ( )) Fig.37. Esquema error en la estimación del parámetro DH d4 Fig.38. Esquema error en la estimación de los parámetros DH a2 y d4
Impacto de los errores de calibración en la precisión de un robot Memoria 54 6.2.1.Simulación del caso estudiado Para realizar las simulaciones se ha adoptado un error de 1cm en cada uno de los parámetros a la vez por comodidad, ya que la magnitud de dichos errores no afecta a la dependencia del error de posición del punto muñeca con respecto a la posición del robot, simplemente ejerce un factor de escalado del mismo. En la siguiente gráfica puede observarse la dependencia del error de posición del punto muñeca con respecto a la posición del brazo robot definida por la articulación tres: La gráfica anterior permite observar que el error de posición del punto muñeca está comprendido entre cero y dos centímetros. El error de posición del punto muñeca no depende en absoluto de la posición de , siendo máximo para, aproximadamente, ( ⁄) (nótese que se ha obviado el parámetro en el análisis formal pero no en la simulación) y mínimo para, aproximadamente, ( ⁄) y ( ⁄), posiciones correspondientes a, respectivamente, “brazo estirado” y “brazo encogido”. Si bien la posición de “brazo estirado” entra dentro del rango de trabajo del robot, las posiciones para las que se obtiene el error mínimo no lo hacen por seguridad y características constructivas del robot (tal y como se ha explicado anteriormente). Esto implica Fig.39. Gráfica error de posición por error en la estimación de los parámetros DH a2 y d4
Impacto de los errores de calibración en la precisión de un robot Memoria 55 que el mínimo error real nunca será nulo. La explicación de los resultados obtenidos es sencilla. Para las configuraciones de error máximo, el error cometido en y se sumaría en su totalidad, ya que comparten vector direccional. Sin embargo, para las configuraciones de error mínimo los errores cometidos en la estimación de los parámetros de Denavit y Hartenberg se anularían el uno con el otro al ser ambos positivos y encontrarse en sentidos contrarios.
Impacto de los errores de calibración en la precisión de un robot Memoria 56 6.3.Error de posición debido a un error en El parámetro de Denavit y Hartenberg se corresponde con la horizontalidad del eje 2 del robot Puma 560. Un error en la estimación de este parámetro podría producirse debido a una deformación de la estructura de soporte del robot o una colisión que debilite la unión entre los sólidos 0 y 1 y por lo tanto se produzca una ligera inclinación del robot (debida a una ligera holgura en la unión). Un error posible en este parámetro puede llegar a ser de uno o dos grados sin que se aprecie claramente a simple vista y por lo tanto puede pasar desapercibido. Errores mayores pueden llegar a percibirse dependiendo de las longitudes de los sólidos del robot, puesto que a mayores longitudes, el error se verá magnificado por el extremo del robot. 6.3.1.Análisis del error El error de posición debido a un error angular se mide de la siguiente forma: ( ) ( ) En lo que se refiere a un error de posición del punto muñeca del robot Puma560 originado por un error de estimación del parámetro de Denavit y Hartenberg , es la distancia del eje (sobre el que se realiza el giro de Fig.8. Esquema error debido a giro
Impacto de los errores de calibración en la precisión de un robot Memoria 63 distancia del eje al extremo del robot (punto muñeca). Para el estudio de este caso se tendrá en cuenta el parámetro de Denavit y Hartenberg . A continuación se muestra un diagrama con la distribución espacial de los sólidos del robot y sus respectivas longitudes para apoyar visualmente los cálculos realizados: Como puede observarse en el diagrama, no afecta a la posición del punto muñeca con respecto al eje . Según el diagrama, viene dada por la siguiente fórmula: √ Cuyas componentes son: √ Fig.45. Esquema posiciones 4
Impacto de los errores de calibración en la precisión de un robot Memoria 64 ( ) Por lo tanto, quedará: √ (√ ( ( ))) Y por tanto siendo la expresión del error de posición para el caso de un error de estimación del parámetro de Denavit y Hartenberg de grados: √ (√ ( ( ))) ( ) De esta expresión pueden obtenerse los siguientes resultados: - El error de posición será máximo para un dado cuando: ⇒|√ ( ( ))| ⇒ ( ( )) ⇒ { ( ) ⇒ ( ) ( ) ⇒ ( ) Así pues, para ( ) y para ( ) el resultado es: √ (√ ) ( ) - El error de posición será mínimo para un dado cuando:
Impacto de los errores de calibración en la precisión de un robot Memoria 65 ⇒|√ ( ( ))| ⇒ ( ( )) ⇒ { ( ) ⇒ ( ) ( ) ⇒ ( ) Así pues, para ( ) y para ( ) el resultado es: ( ) 6.4.2.Simulación del caso estudiado En la siguiente gráfica puede observarse la dependencia del error de posición del punto muñeca con respecto a la posición del brazo robot definida por la articulación tres:
Impacto de los errores de calibración en la precisión de un robot Memoria 66 La gráfica anterior permite observar que el error de posición del punto muñeca nunca va a ser nulo. Esto es debido a que el punto muñeca no se encuentra en el plano de giro del eje 2 en ningún momento y por tanto no va a poder encontrarse en el eje según el cual se realiza el giro de 1 grado del eje de rotación 2. Para analizar mejor la dependencia de este error con respecto a la posición del brazo robot es precisa una vista vertical de la misma gráfica, la cual se muestra a continuación: Como puede apreciarse, existen dos posiciones de para las que el error de posición del punto muñeca será máximo, mientras que la posición de resulta del todo irrelevante para el error de posición cometido. Dichas posiciones son ( ) y ( ). Estas posiciones se corresponden la posición de “brazo en L”. En lo que respecta a los mínimos, se corresponden con las posiciones de “brazo estirado” y “brazo plegado”, respectivamente ( ⁄) y ( ⁄), estando la segunda de ellas, por los motivos comentados anteriormente, fuera del rango real de operación. Los resultados obtenidos se fundamentan en que cuanto más alejado Fig.46. Gráfica errores de posición por error de estimación de DH alpha2
Impacto de los errores de calibración en la precisión de un robot Memoria 67 esté el punto muñeca del plano perpendicular y secante al eje de giro 2, mayor será el error de posición del mismo debido a que éste es el que está inclinado y por tanto aumenta el radio de giro y por consiguiente la distancia “recorrida” a causa del error. Así pues las posiciones de máximo error, ( ⁄) y ( ⁄) coincidentes con las posturas “brazo en L”, son aquellas para las que la distancia al plano perpendicular y secante al eje de giro 2 es máxima; mientras que los puntos de error mínimo, coincidentes con las posiciones de “brazo estirado” y “brazo plegado”, son aquellas para las que la distancia al plano de giro del eje 1 es mínima. A continuación dos imágenes de las posiciones de para las que el error de posición del punto muñeca es máximo: A continuación dos imágenes de las posiciones de para las que el error de posición del punto muñeca es mínimo: Figs.47. y 48. Posiciones Puma 560 Figs.49. y 50. Posiciones Puma 560
Impacto de los errores de calibración en la precisión de un robot Memoria 68 6.5.Error de posición debido a un error en El parámetro de Denavit y Hartenberg se corresponde con la perpendicularidad del eje 4 con respecto al eje 3 del robot Puma 560. Un error en la estimación de este parámetro podría producirse debido a una deformación o torsión del sólido 3 o una colisión que debilite la unión entre los sólidos 2 y 3 y por lo tanto se produzca una ligera inclinación del brazo robot a partir de este punto(debida a una ligera holgura en la unión). Un error posible en este parámetro puede llegar a ser de uno a cinco grados sin que se aprecie claramente a simple vista y por lo tanto puede pasar desapercibido. Errores mayores pueden llegar a percibirse dependiendo de las longitudes de los sólidos del robot, puesto que a mayores longitudes, el error se verá magnificado por el extremo del robot. Para las simulaciones se ha inducido un error en el parámetro de 1 grado. Puesto que este parámetro afecta al último sólido modelizado con longitud (recuérdese que los sólidos 4, 5 y 6 se modelizan con longitud cero en el Puma 560 y por eso no se han estudiado en lo referente a errores de posición), el error de posición resultante será constante, ya que no cabe consiguración posible que varíe la posición del punto muñeca con respecto al eje a tratar. El error de posición debido a un error en se mide de la siguiente forma: ( ) ( ) Fig.8. Esquema error debido a giro
Impacto de los errores de calibración en la precisión de un robot Memoria 69 7. Bibliografía - A. Barrientos, L.F Peñín, C. Balaguer, R. Aracil “Cinemática del robot”, en: Fundamentos de robótica, McGraw-Hill, Madrid, 1997. - A. Barrientos, L.F Peñín, C. Balaguer, R. Aracil “Criterios de implantación de un robot industrial”, en: Fundamentos de robótica, McGraw-Hill, Madrid, 1997. - J.Denavit y R.S Hartenberg, “A kinematic Notation for lower-pair mechanisms Based on Matrices”, Journal of Applied Mechanics, junio 1995. - K.S Fu et. al. “Cinemática del brazo del robot”, en: Robótica. Control, Detección, Visión e Inteligencia, McGraw-Hill, Madrid, 1988. - A.A. Goldenberg, b.Benhabib y R.G. Fenton, “A complete generalized solution to the inverse kinematics of robots”, IEEE Journal of Robotics and Automation, RA-1, 1, 1985. - R.P Paul, Robot Manipulators: Mathematics, Programming and Control, The MIT Press, Massachusetts, 1981.