ALEJANDRO VILLAVECES PARDO
Transcript of ALEJANDRO VILLAVECES PARDO
DISEÑO Y CONSTRUCCIÓN DE UN ROBOT TIPO DELTA
ALEJANDRO VILLAVECES PARDO
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA
DEPARTAMENTO DE INENIERIA MECANICA BOGOTÁ
2010
DISEÑO Y CONSTRUCCIÓN DE UN ROBOT TIPO DELTA
ALEJANDRO VILLAVECES PARDO
Proyecto de grado para optar al título de Ingeniero Mecánico
Asesor Dr. CARLOS FRANCISCO RODRÍGUEZ
Profesor Asociado
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERIA
DEPARTAMENTO DE INENIERIA MECANICA BOGOTÁ
2010
AGRADECIMIENTOS
Agradezco a todas las personas que de alguna u otra forma estuvieron involucradas en el desarrollo de este trabajo. Especialmente al doctor Carlos Francisco Rodríguez, por su tiempo, paciencia, sus consejos y los conocimientos que me brindo durante todo el proceso. Quiero agradecer a todos los técnicos del laboratorio de manufactura por su ayuda, especialmente a Ramiro Beltrán y a Juan Carlos García. Por último quiero agradecer a mis padres y hermanos que me han ayudado durante toda mi vida y sin ellos esto no sería posible.
TABLA DE CONTENIDOS
Pág.
INTRODUCCIÓN .................................................................................................... 6
1. Geometría y Cinemática ................................................................................... 8
1.1. Descripción y Geometría básica ................................................................ 8
1.2. Cinemática Inversa................................................................................... 10
1.3. Cinemática Directa ................................................................................... 11
2. Análisis Jacobiano y Singularidades ............................................................... 13
2.1. Matriz Jacobiana ...................................................................................... 13
2.2. Singularidades ......................................................................................... 14
3. Índices de Desempeño ................................................................................... 17
3.1. Volumen del Espacio de Trabajo ............................................................. 17
3.2. Número de Condicionamiento .................................................................. 18
3.3. Valores propios ........................................................................................ 19
4. Evaluación de los Índices ............................................................................... 20
4.1. Método de evaluación .............................................................................. 20
4.2. Resultados obtenidos ............................................................................... 22
5. Construcción del prototipo .............................................................................. 28
5.1. Plataformas .............................................................................................. 28
5.2. Uniones .................................................................................................... 29
5.3. Análisis de fuerzas ................................................................................... 30
6. Conclusiones y Trabajo Futuro ....................................................................... 32
REFERENCIAS ..................................................................................................... 33
REFERENCIAS DE LAS FIGURAS ...................................................................... 35
ANEXOS ............................................................................................................... 36
1. Algoritmo Cinemática Inversa .................................................................. 36
2. Algoritmo Cinemática Directa ................................................................... 37
3. Algoritmo para el cálculo de los diferentes índices .................................. 38
4. Fotos de la plataforma y el ensamble....................................................... 44
5. Planos de ingeniería................................................................................. 48
LISTA DE FIGURAS
Pág.
Figura 1: Robots Delta fabricante ABB y ADEPT respectivamente. ........................ 6
Figura 2: Geometría Básica. .................................................................................... 8
Figura 3: Ángulos y longitudes características de las uniones. ............................... 9
Figura 4: Solución de la Cinemática Inversa. ........................................................ 10
Figura 5: Casos posibles para la Cinemática Directa. ........................................... 12
Figura 6: Posición Singular donde ...................................................... 14
Figura 7: Posición Singular donde para todos los brazos........ 15
Figura 8: Posición Singular donde para todos los brazos. ........................................................................................... 16
Figura 9: Ejemplos de diversas geometrías del espacio de trabajo. ..................... 17
Figura 10: Espacio Bidimensional de posibles configuraciones del robot. ............ 21
Figura 11: Volumen del espacio de trabajo. .......................................................... 23
Figura 12: Índice de condicionamiento global segunda norma.............................. 24
Figura 13: Índice de condicionamiento global norma euclidiana. .......................... 25
Figura 14: volumen del espacio de trabajo asociado a un valor de mayor a 0.5, 0.3 y 0.2................................................................................................................. 26
Figura 15: Promedio de la norma del vector de valores propios para y para respectivamente. ........................................................... 27
Figura 16: Modelo de la plataforma. ...................................................................... 28
Figura 17: Plataforma base y plataforma móvil. .................................................... 29
Figura 18: Uniones rotacionales. ........................................................................... 29
Figura 19: Unión a los servos. ............................................................................... 30
Figura 20: fuerzas sobre la plataforma móvil......................................................... 30
6
INTRODUCCIÓN
Los robots tipo delta hacen parte de un grupo llamados manipuladores o robots paralelos. Desde mediados del siglo pasado surge el primer diseño de un Robot paralelo anismo de cadena cerrada, en el que el efector final se une a la base por al menos dos
(Aracil, Saltarén, Sabater, & Reinoso, 2006).
Este tipo de robot es construido generalmente con un eje de rotación en una dirección, montado sobre la plataforma móvil, y tres grados de libertad en translación. Los brazos del robot delta son paralelogramos, unidos a una base común mediante uniones universales o esféricas. En esta base es donde se coloca la herramienta que le permite al robot interactuar con los objetos. La mayoría de robots delta tienen tres brazos, pero existen algunas variaciones.
Figura 1: Robots Delta fabricante ABB y ADEPT respectivamente.
Las ventajas de un robot delta sobre otros tipos de robots son su bajo peso, alta velocidad y flexibilidad. Se destacan para aplicaciones donde las cargas son pequeñas, y se necesita mover distancias relativamente pequeñas a alta velocidad (BOSCH Rexroth AG, 2007).
En el Departamento de Ingeniería Mecánica de la Universidad de los Andes se ha venido trabajando en esta área desde hace algún tiempo. Especialmente en los últimos dos años se ha trabajado en el diseño y la construcción de robots paralelos para ser usados como parte de simuladores dinámicos para el entrenamiento de habilidades específicas. Esto empezó con la tesis de grado de Federico Carosio en la que se expone el diseño de un robot paralelo conocido como plataforma de Stewart que posee 6 grados de libertad (Carosio, 2007). Más adelante, en el año 2008, David Isaza (Isaza, 2008) diseña y construye en su proyecto de grado una plataforma Stewart.
Desde la construcción de la plataforma Stewart se han desarrollado algunos proyectos basados en ella. Algunos de estos estudian la percepción del movimiento (Ochoa, 2008) (Cardona, 2009), y la implementación de la plataforma
7
Stewart con un simulador de conducción (Barreto, 2008). Todos los trabajos presentados anteriormente, se basan en robots paralelos, pero en la universidad no se han desarrollado trabajos de este tipo con robots tipo delta.
En este proyecto de Tesis, se plantea el análisis, diseño y construcción de un robot paralelo tipo delta. Se busca un análisis geométrico y cinemático para un robot delta de tres brazos, con el fin de obtener índices de desempeño y generar criterios para la selección de las longitudes características del robot. Su construcción está ligada a los resultados del análisis, pero debido a que no se requiere este robot para una actividad específica, se utiliza una configuración de longitudes no optimizada según los criterios anteriormente mencionados.
Con esta finalidad se plantearon los siguientes objetivos para el desarrollo del proyecto.
Objetivos Generales
Diseño y construcción de un robot paralelo tipo delta.
Objetivos Específicos
Evaluación geométrica de este tipo de robot.
Obtención del volumen de trabajo para diferentes configuraciones geométricas.
Obtención de índices de desempeño para diferentes configuraciones geométricas.
Elaboración de planos de manufactura del robot.
Manufactura y ensamble del robot.
8
1. Geometría y Cinemática
Esta sección pretende ilustrar la geometría y cinemática básicas de un robot tipo delta de tres brazos. Se basa en los trabajos de (Laribi, Romdhane, & Zeghloul, 2007) y (Tsai, 1999, págs. 134-142). Este último desarrolla la geometría para un
que difiere muy poco a la geometría del robot delta y es adaptable al mismo. Para más información se sugiere recurrir al trabajo original.
1.1. Descripción y Geometría básica
Un robot delta consiste de una plataforma móvil unida a una base mediante tres cadenas cinemáticas paralelas. Cada una de estas cadenas cinemáticas tiene una unión rotacional y cuatro uniones esféricas dispuestas en paralelogramos (Figura 2). Debido a esta configuración, la plataforma móvil posee únicamente tres grados de libertad en translación y no posee ningún grado de libertad en rotación.
Figura 2: Geometría Básica.
Se va a utilizar el eje de referencia (x, y, z) ubicado en el centro de la plataforma fija (Figura 2) y un eje de referencia ( ) ubicado sobre la unión rotacional del brazo i. El ángulo está definido como el ángulo sobre el plano xy entre el eje x y el eje . Este ángulo va a ser constante en todo el trabajo, y se define la diferencia .
9
En la Figura 3 están definidos los ángulos asociados al brazo i ( ) y las longitudes características de la plataforma (a, b, h y r).
a) Vista frontal b) Vista lateral
Figura 3: Ángulos y longitudes características de las uniones.
Los ángulos son considerados los ángulos actuados debido a que en esta posición es más fácil ubicar los actuadores y no se encontrarían en una posición de constante movimiento.
La ecuación de lazo cerrado para el brazo i del robot es:
Utilizando la ecuación de lazo cerrado para el brazo i, se llega a las siguientes ecuaciones:
Donde es equivalente a y es equivalente a . El vector describe la posición de la plataforma móvil con respecto al eje de
coordenadas (x, y, z). El vector describe la posición de la unión c con respecto al eje ( ).
10
1.2. Cinemática Inversa
En la cinemática inversa, el vector posición P de la plataforma móvil es dado y el problema es hallar los ángulos que se necesitan para ubicar la plataforma en esa posición.
Dado que se conoce el vector posición de P, se conoce entonces el vector posición de C al conocer la distancia h. Así mismo, conociendo la distancia r se conoce la posición de A y al conocer las longitudes características a y b de la plataforma, se reduce el problema a hallar la intersección de una esfera con centro en C y radio b y una circunferencia con centro en A y radio A (Figura 4).
Figura 4: Solución de la Cinemática Inversa.
Algebraicamente se resuelve el problema resolviendo la ecuación 1.2. Despejando en el segundo elemento de la ecuación 1.2 obtenemos:
Mediante la suma de cuadrados en la ecuación 1.2 se obtiene:
Por lo que:
La ecuación 1.4 nos da dos posibles soluciones para . Para cada una de estas soluciones, la ecuación 1.6 nos da dos soluciones posibles por lo que tenemos cuatro conjuntos de soluciones posibles. Cada uno de estos conjuntos nos da una única solución a , por lo que tenemos un conjunto de cuatro soluciones
11
posibles, pero en este conjunto únicamente hay dos soluciones diferentes para que se ilustran en la Figura 4.
La solución tiene cuatro casos posibles:
El primero se da cuando la esfera entra en la circunferencia, y resulta en dos soluciones posibles para .
El segundo caso se presenta cuando la esfera es tangente a la circunferencia y da una solución posible para .
El tercer caso se da cuando la circunferencia se encuentra en la esfera, lo que requeriría que la plataforma móvil y la plataforma estacionaria ocupen el mismo plano.
El último caso se da cuando la esfera y la circunferencia no se interceptan, lo que no generaría ninguna solución.
Se resolvió la cinemática inversa mediante Matlab y el código se encuentra en el anexo 1.
1.3. Cinemática Directa
El problema ahora es encontrar la posición de la plataforma conociendo los ángulos de los actuadores .
Dado que conocemos r, a, y conocemos entonces la posición de de cada brazo (Figura 3). Conociendo , podemos buscar todas las posiciones posibles de
, que se encuentran en una esfera centrada en y con radio b. De la misma forma podemos encontrar todas las posiciones posibles de P sabiendo que este se encuentra a una distancia h en dirección del punto . Por lo que P se encuentra en la superficie de la esfera de radio b y centro en . Donde se encuentra a una distancia h en dirección del punto . Por lo que:
.
Al encontrar la esfera correspondiente a cada brazo, se pueden ubicar las soluciones posibles para la posición de P encontrando los puntos de intersección de las tres esferas.
Existen cuatro casos posibles:
El primer caso corresponde a la que la intersección se dé en dos puntos. Encontrando dos soluciones para P (Figura 5a.).
El segundo caso ocurre cuando una esfera es tangente a la circunferencia creada por la unión de las otras dos esferas lo que daría una solución para P (Figura 5b.).
12
El tercer caso corresponde a la solución singular que ocurre cuando las esferas tienen el mismo centro y se interceptan en todos los puntos (Figura
5c.). El cuarto caso ocurre cuando las esferas no se interceptan, lo que no daría
ninguna solución para P (Figura 5d.).
a) Primer caso
b) Segundo caso.
c) Tercer caso
d) Cuarto caso
Figura 5: Casos posibles para la Cinemática Directa.
El desarrollo algebraico es considerablemente más largo y no se describirá en este documento, para mayor información concerniente al procedimiento algebraico se recomienda recurrir a (Tsai, 1999, págs. 139-142). Se resolvió la cinemática inversa mediante Matlab y el código se encuentra en el anexo 2.
13
2. Análisis Jacobiano y Singularidades
Esta sección se basa en los trabajos de (López, Castillo, García, & Bashir, 2006) y (Tsai, 1999, págs. 234-239). Para más información se sugiere recurrir a estas fuentes.
2.1. Matriz Jacobiana
Mediante la derivación con respecto al tiempo de la ecuación de lazo cerrado (ecuación 1.1) para cada uno de los brazos del robot delta obtenemos:
Donde es la velocidad angular de la unión j del brazo i. Para eliminar que corresponde a una velocidad no actuada en el robot, se utiliza el producto punto a ambos lados de la ecuación 2.1 por y se obtiene:
Los vectores utilizados en la ecuación anterior con respecto al eje de coordenadas ( ) se pueden escribir como:
Si substituimos estas expresiones en la ecuación 2.2 obtenemos
Escribiendo la ecuación 2.3 para cada uno de los brazos obtenemos que:
Donde y son las matrices jacobianas definidas como:
14
2.2. Singularidades
Las singularidades ocurren cuando alguna de las matices jacobianas es singular. Si , esta es llamada una singularidad de cinemática inversa, y si por el contrario , entonces se llama singularidad de cinemática directa.
Para que sea igual a cero, se deben cumplir las siguientes condiciones:
Para cualquiera de los brazos. Físicamente no es posible que debido a que esto significaría que las barras del paralelogramo fueran colineales y esto significaría que ocupan el mismo espacio. La condición se da físicamente cuando el brazo de entrada y el paralelogramo de un mismo brazo se encuentran en el mismo plano (Figura 6).
Figura 6: Posición Singular donde
15
Las singularidades asociadas a son un poco más complicadas de hallar, pero existen algunas configuraciones en las que se cumple la condición de singularidad, por ejemplo cuando todo el tercer vector columna de la matriz es igual a cero. Esto último significaría que:
Lo que únicamente es posible si:
Para todos los brazos al mismo tiempo (Figura 7).
Figura 7: Posición Singular donde para todos los brazos.
Otra singularidad asociada a se da cuando el primer vector columna de cero, lo que significaría que:
Que puede cumplirse cuando:
Para los tres brazos al mismo tiempo (Figura 8).
17
3. Índices de Desempeño
En esta sección se definirán tres índices de desempeño diferentes que serán utilizados para la selección de las longitudes características de la plataforma. Estos tres índices son el volumen del espacio de trabajo, el número de condicionamiento y los valores propios de las matrices jacobianas.
3.1. Volumen del Espacio de Trabajo
El espacio de trabajo es definido como el espacio cartesiano en el que el punto P puede estar. Matemáticamente se puede escribir mediante la siguiente desigualdad:
Esta desigualdad representa un volumen en el espacio, y los puntos en los que se cumple esta desigualdad para son los puntos que pertenecen al espacio de trabajo del robot. Esta ecuación y el proceso matemático para encontrarla se pueden hallar en (Laribi, Romdhane, & Zeghloul, 2007) y un procedimiento diferente para hallar el volumen de trabajo se puede encontrar en (Liu, Wang, & Zheng, 2003).
En el trabajo de (Liu, Wang, & Zheng, 2003) se describe una forma de obtener el espacio de trabajo gráficamente mediante un software de tipo CAD, y se describen los diferentes tipos de geometría posibles para el espacio de trabajo. En la Figura 9 se pueden ver dos ejemplos de estas geometrías.
Figura 9: Ejemplos de diversas geometrías del espacio de trabajo.
18
3.2. Número de Condicionamiento
El número de condicionamiento de una matriz está definido como:
Donde es la segunda norma de la matriz A.
Si consideramos el sistema (ecuación 2.4) y consideramos pequeños cambios en lugar de las derivadas tenemos que:
Donde .
La ecuación 3.3 muestra como un error en se ve amplificado en un error en la posición p. Aplicando la norma se obtiene:
Donde se puede ver el número de condicionamiento de la matriz que se puede definir como el factor de amplificación del error .
El número de condicionamiento depende de la norma que se utilice. Si se utiliza la segunda norma, el número de condicionamiento es la raíz cuadrada de la relación entre los valores propios mayor y el menor de . Utilizando la norma euclidiana, el número de condicionamiento es la relación entre y , donde
son los valores propios de .
El número de condicionamiento entonces solo puede tomar valores mayores o iguales a 1. Como índice se va a utilizar el inverso del número de condicionamiento que puede estar en el rango .
Todo lo anteriormente descrito en esta sección se basa en (Merlet J.-P. , 2006, págs. 180-182) y (Merlet J.-P. , 2006). Para una deducción detallada se recomienda ver cualquiera de estas fuentes.
El número de condicionamiento de una matriz también describe que tan cercana esta la matriz a ser singular, por lo que en este caso indicaría la cercanía a una posición singular del robot.
Debido a que la matriz del robot depende tanto de las longitudes características como de la posición, tendríamos un número de condicionamiento para cada posición del robot. Por esta razón, se propone utilizar un número global para cada robot definido como:
19
Donde W es el espacio de trabajo, lo que significaría que este índice representa el
promedio de para todo el espacio de trabajo.
3.3. Valores propios
Se va a utilizar la norma euclidiana de los valores propios tanto de como de . Este índice nos va a permitir observar un factor de amplificación de la velocidad, y se podría relacionar con la ventaja mecánica para hablar de favorecer la velocidad o la fuerza en el mecanismo.
De la misma manera en que se va a usar un índice global para el número de condicionamiento en cada robot, se plantea un índice global para esta norma como:
Lo que equivale a un promedio de la norma del vector de valores propios sobre todo el espacio de trabajo.
20
4. Evaluación de los Índices
En esta sección se describirá el método usado para la evaluación de los índices en todas las configuraciones posibles del robot delta y se consignan los resultados obtenidos por este método.
4.1. Método de evaluación
Si consideramos las longitudes características del robot delta (a, b, h y r) descritas anteriormente en el capítulo 1.1 y la Figura 3, podemos ver que el rango de estas variables es teóricamente . Debido a esto, es necesario hallar una herramienta que nos permita evaluar diferentes configuraciones de estas variables. Con este fin se usará la herramienta propuesta por (Liu, Wang, & Zheng, 2003) que se explica a continuación.
Primero se reemplazan las variables h y r por una sola variable debido a que en el análisis geométrico y el Jacobiano se presentan estas variables únicamente como esa resta. Paso seguido se utiliza el promedio de estas variables de la siguiente forma:
Y se definen nuevas variables como:
Basándose en la figura 3, es evidente que , y para que el robot pueda ser construido. Se reduce ahora el espacio tridimensional (A, B, R) a un espacio bidimensional creando las variables (s, t) definidas como:
De esta forma tenemos el espacio bidimensional que hay que evaluar para evaluar todas las posibles configuraciones del Robot. Donde y . LA forma del espacio a evaluar se muestra a continuación:
21
Figura 10: Espacio Bidimensional de posibles configuraciones del robot.
Sobre este espacio se va a evaluar los siguientes índices:
El volumen del espacio de trabajo.
El índice de condicionamiento global.
El volumen del espacio de trabajo asociado a un valor de mayor a 0.5, 0.3 y 0.2.
El promedio de la norma del vector de valores propios sobre todo el espacio de
trabajo tanto para como para .
22
4.2. Resultados obtenidos
Mediante el uso de Matlab se implementó el algoritmo descrito anteriormente y se resolvieron numéricamente las integrales mencionadas en la sección anterior. El código de Matlab se encuentra en el Anexo 3.
Para la integración se usó un barrido en las tres dimensiones y se halló el valor del de la integral repitiendo para deltas más pequeños hasta que el valor de la diferencia fuera menor al 5%. Es necesario decir que para el número de condicionamiento global no es posible obtener una medición del error mediante este método, pero se puede asumir que si el resultado para una cantidad de puntos m1 y el resultado para una cantidad de puntos m2 es muy pequeño, donde m2 es mucho más grande que m1, se puede asumir que el resultado para m2 es relativamente bueno. Según (Merlet J.-P. , 2006) este resultado es únicamente cierto si el número de condicionamiento no cambia abruptamente en todo el espacio de trabajo lo cual es difícil de comprobar. Para el promedio de la norma del vector de valores propios tampoco está comprobada la convergencia.
En las figuras 11 a la 15, se presentan los resultados para los índices propuestos, en forma de superficie y en forma de contorno exceptuando la figura 15, en la que se presentan únicamente las gráficas de contorno.
En la Figura 11 se presenta el volumen del espacio de trabajo, este resultado concuerda con el resultado encontrado en (Liu, Wang, & Zheng, 2003). Se puede ver que existe un máximo en el volumen cuando t es igual a cero y s está cerca de uno.
Los índices de condicionamiento global (Figuras 12 y 13) presentan una congruencia en cuanto a la forma de la gráfica y por lo tanto en la ubicación de los máximos y mínimos. Un robot con un alto número de condicionamiento global presenta una ventaja, ya que esto significaría que en el volumen existen menos posiciones en las que la matriz es singular o está cerca de serlo. Este índice solo tiene sentido si se usa con el volumen total, ya que se puede tener un índice de condicionamiento muy alto pero si se tiene un volumen muy bajo es inútil el mecanismo.
Si usamos la Figura 11 con la Figura 12 o 13 para encontrar un óptimo para el volumen y número de condicionamiento global, podríamos encontrar que cerca de s entre uno y dos, y t igual a cero, tenemos buenas longitudes, pero con el índice
de volumen del espacio de trabajo asociado a un valor de (Figura 14), tenemos
un resultado mucho más contundente para el intento de optimizar volumen y numero de condicionamiento al mismo tiempo. Se puede ver en la Figura 14 que existe un máximo en s cerca de 1.7 y t igual a cero. También se pueden ver zonas en las que hay buenas configuraciones.
27
Figura 15: Promedio de la norma del vector de valores propios para y para respectivamente.
En la Figura 15 tenemos se presenta el ultimo índice asociado a la matriz y a la matriz . A diferencia de los índices anteriores, que únicamente nos permiten optimizar el volumen y la cantidad de posiciones cercanas a una singularidad, este último índice nos permite un acercamiento a la optimización para fuerza o velocidad. No es un acercamiento directo, pero si asociamos este índice a la ventaja mecánica, se puede ver que si este índice evaluado para es más grande, se mejorará la velocidad del mecanismo, y si el índice asociado a se incrementa, se mejorará el desempeño respecto a la fuerza en el mecanismo.
28
5. Construcción del prototipo
Figura 16: Modelo de la plataforma.
En este capítulo se habla de la manufactura de la plataforma y se presentan las diferentes partes de la plataforma. Además se presenta el análisis de fuerzas y las fotos de las piezas construidas y el ensamble final. Los planos de la plataforma se encuentran en el anexo 5 y las fotos del prototipo y el ensamble se encuentran en el anexo 4.
5.1. Plataformas
El primer paso en la construcción del robot fue la construcción de las plataformas, tanto la plataforma móvil como la plataforma base. Aunque para el momento de la construcción de las plataformas ya se había hecho un intento de construir las uniones, estas no se construyeron por completo hasta el final.
El primer paso para la construcción fue la selección de las longitudes h y r. En este caso utilizamos y . Como se puede ver en la Figura 17 , estas longitudes definen las dimensiones de las dos plataformas. Como se había dispuesto desde el principio, los ángulos entre los brazos serán de 120 grados.
29
Figura 17: Plataforma base y plataforma móvil.
5.2. Uniones
El mecanismo tiene dos tipos de uniones, uniones esféricas y uniones rotacionales. Las uniones rotacionales son las actuadas, por lo que los servomotores son los que se usan en estas uniones. Las uniones esféricas son las de mayor dificultad de construcción para todo el robot, se construyeron de aluminio y acero SAE 12L14 por las características que ofrecen estos materiales para el mecanizado.
El mayor desafío fue diseñar todas estas uniones para que permitieran el intercambio de las longitudes características b y a, mediante el intercambio de las barras que se acoplan a estas uniones, estas barras se acoplan mediante tornillos prisioneros. Las uniones a los servomotores van acopladas mediante chavetas cuadradas de 3mm que vienen incluidas en con los servomotores.
Figura 18: Uniones rotacionales.
30
Figura 19: Unión a los servos.
5.3. Análisis de fuerzas
Debido a que la parte superior de los brazos únicamente tiene uniones esféricas, las barras asociadas a estas uniones únicamente pueden soportar fuerzas en tensión o compresión, esto hace que el análisis sea más fácil y se pueda desarrollar de la siguiente forma:
Figura 20: fuerzas sobre la plataforma móvil.
Las fuerzas de salida y momentos de salida de la plataforma se obtienen son y . Las fuerzas en cada barra acoplada a la unión
esférica se puede escribir como:
31
Donde es el vector y es la magnitud del vector .
Haciendo la sumatoria de fuerzas:
Haciendo la sumatoria de momentos:
Las ecuaciones 5.1 y 5.6 se pueden escribir como:
Se puede relacionar el torque máximo con cada par de fuerzas de cada brazo. De esta ecuación se pueden despejar las fuerzas que actúan sobre cada una de las barras dependiendo de la posición y con estas fuerzas se hace el análisis de resistencia de materiales para cada una de las piezas.
32
6. Conclusiones y Trabajo Futuro
El trabajo presentado cumple con todos los objetivos propuestos, de manera que se obtienen los índices de desempeño y un prototipo del robot funcional y completo, al que además se le pueden variar dos de las longitudes características.
Mediante este trabajo se obtuvieron herramientas suficientes para la optimización de las longitudes características del robot. Como trabajo futuro se plantea la comprobación de estos índices para las diferentes inversiones geométricas para el robot, debido a que en este trabajo solo se analizaron las posiciones correspondientes a una de estas inversiones.
El análisis para el desgaste de las uniones esféricas queda abierto y por lo tanto también la optimización de la selección de materiales en estas uniones.
El prototipo queda a disposición del laboratorio para que se realicen estudios posteriores y se generen los controles adecuados para el uso del mismo.
33
REFERENCIAS
Aracil, R., Saltarén, R. J., Sabater, J. M., & Reinoso, O. (2006). Robots Paralelos: Máquinas con un Pasado para una Robótica del Futuro. Revista iberoamericana de automática e informática industrial, 3(1), 16-28.
Barreto, J. P. (2008). Implementación de un Simulador de Conducción en una Plataforma de Stewart. Proyecto de Grado. Facultad de Ingeniería, Universidad de los Andes. Bogotá D.C.
BOSCH Rexroth AG. (Enero de 2007). Need speed? Is there a delta robot in your future? Control Engineering, 54(1), 28.
Cardona, D. C. (2009). Medición de la Percepción de Movimiento en una Plataforma de Stewart. Proyecto de Grado. Facultad de Ingenieria, Universidad de los Andes. Bogotá D.C.
Carosio, F. (2007). Diseño de una plataforma de Stewart. Proyecto de Grado, Facultad De Ingeniería, Universidad de los Andes. Bogota D.C.
Isaza, D. F. (2008). Diseño y Construcción de un Robot Paralelo (Plataforma de Stewart). Proyecto de grado. Facultad de Ingenieria, Universidad de los Andes. Bogotá D.C.
Laribi, M. A., Romdhane, L., & Zeghloul, S. (Julio de 2007). Analisis and dimensional synthesis of the DELTA robot for a prescribed workspace. Mechanism and Machine Theory, 42(7), 859-870.
Liu, X.-J., Wang, J., & Zheng, H. (2003). Workspace atlases for the computer aided design of the Delta robot. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science, 217(8), 861-869.
López, M., Castillo, E., García, G., & Bashir, A. (Enero de 2006). Delta robot: inverse, direct, and intermediate jacobians. Proceedings od the institution of Mechanicalk Engineers, 103.
Merlet, J.-P. (2006). Jacobian, Manipulability, Condition Number and Accuracy of Parallel Robots. Journal of Mechanical Design, 128(1), 175-184.
Merlet, J.-P. (2006). Parallel Robots. Dordrecht: Springer.
Ochoa, N. (Junio de 2008). Percepción de Movimiento y su Aplicación a Simuladores Dinámicos de Entrenamiento de Pasajeros. Proyecto de grado. Facultad de Ingenieria, Universidad de los Andes. Bogotá D.C.
34
Tsai, L. (1999). Robot Analysis: The Mechanics of Serial and Parallel Manipulators. New York: Wiley.
35
REFERENCIAS DE LAS FIGURAS
Figura 1: Tomada de www.abb.com y de www.adept.com el 4 de marzo de 2010.
Figura 2: Tomada y adaptada de (Tsai, 1999, pág. 167).
Figura 3: Tomada y adaptada de (Tsai, 1999, pág. 137).
Figura 4: Tomada y adaptada de (Tsai, 1999, pág. 138).
Figura 10: Tomada y adaptada de (Liu, Wang, & Zheng, 2003, pág. 866).
Figuras no referenciadas creadas por el autor.
36
ANEXOS
En los primeros 3 anexos se presentan los diferentes algoritmos en Matlab usados para el desarrollo del trabajo.
1. Algoritmo Cinemática Inversa
function [phi]=inversek(L,R,theta,P1);%L(1)=a L(2)=b % Mediante este código se resuelve la cinemática inversa al hallar los % ángulos de la plataforma conociendo su posición basado en la cinemática % inversa de Tsai. for i=1:3 C(1)=(cos(theta(i))*P1(1)+sin(theta(i))*P1(2))-R; C(2)=(-sin(theta(i))*P1(1)+cos(theta(i))*P1(2)); C(3)=(P1(3)); if (abs(C(2))>L(2)) disp('No hay solución'); phimin(i,:)=NaN(1,3); phimax(i,:)=NaN(1,3); else if (abs(C(2))<=L(2)) phi3(1)=(acos(C(2)/L(2))); phi3(2)=-phi3(1); phi3(3)=phi3(1); phi3(4)=phi3(2); K1=(C(1)^2+C(2)^2+C(3)^2-L(1)^2-L(2)^2)/(2*L(1)*L(2)*sin(phi3(1))); K2=(C(1)^2+C(2)^2+C(3)^2-L(1)^2-L(2)^2)/(2*L(1)*L(2)*sin(phi3(2))); phi2(1)=(acos(K1)); phi2(2)=(acos(K2)); phi2(3)=-phi2(1); phi2(4)=-phi2(2); phi1(1)=hphi1(L,phi2(1),phi3(1),C);%llama la función hphi1 phi1(2)=hphi1(L,phi2(2),phi3(2),C);%llama la función hphi1 phi1(3)=hphi1(L,phi2(3),phi3(3),C);%llama la función hphi1 phi1(4)=hphi1(L,phi2(4),phi3(4),C);%llama la función hphi1 end end a=find(phi1<max(phi1), 2, 'first'); if length(a)<2 a(1)=1; a(2)=2; end if phi2(a(1))>phi2(a(2)) phi(:,i)=[phi1(a(1)) phi2(a(1)) phi3(a(1))]; else phi(:,i)=[phi1(a(2)) phi2(a(2)) phi3(a(2))]; end end end
function phi1=hphi1(L,phi2,phi3,C);%L(1)=a L(2)=b % Esta función Calcula el ángulo phi1 de manera recursiva. error=pi/100000; delta1=pi/100; A=L(1).*cos(-pi)+L(2)*sin(phi3).*cos(-pi+phi2)-C(1); B=L(1).*sin(-pi)+L(2)*sin(phi3).*sin(-pi+phi2)-C(3); f1=abs(A)+abs(B); phi1=-pi; inic=f1;
37
for i=-pi:delta1:pi A=L(1)*cos(i)+L(2)*sin(phi3)*cos(i+phi2)-C(1); B=L(1)*sin(i)+L(2)*sin(phi3)*sin(i+phi2)-C(3); f=abs(A)+abs(B); if f<f1 phi1=i; inic=f; f1=f; end end A=L(1)*cos(phi1+error)+L(2)*sin(phi3)*cos(phi1+error+phi2)-C(1); B=L(1)*sin(phi1+error)+L(2)*sin(phi3)*sin(phi1+error+phi2)-C(3); f1=abs(A)+abs(B); if f1>=inic error=-error; end A=L(1)*cos(phi1+error)+L(2)*sin(phi3)*cos(phi1+error+phi2)-C(1); B=L(1)*sin(phi1+error)+L(2)*sin(phi3)*sin(phi1+error+phi2)-C(3); f=abs(A)+abs(B); while f<f1 f1=f; phi1=phi1+error; A=L(1)*cos(phi1+error)+L(2)*sin(phi3)*cos(phi1+error+phi2)-C(1); B=L(1)*sin(phi1+error)+L(2)*sin(phi3)*sin(phi1+error+phi2)-C(3); f=abs(A)+abs(B); end if phi1<-pi phi1=phi1+2*pi; end if phi1>pi phi1=phi1-2*pi; end if phi1==-pi phi1=2*pi; end
2. Algoritmo Cinemática Directa
function [P1,P2,P3]=fundirectjkdelta(L,r,theta,phi) % Mediante este código se resuelve la cinemática directa al hallar la % posición de la plataforma conociendo los ángulos de entrada basado en % la cinemática directa de Tsai. R(1)=0; R(2)=r; X0=(R(2)-R(1)+(L(2)*cos(phi))).*cos(theta); Y0=(R(2)-R(1)+(L(2)*cos(phi))).*sin(theta); Z0=(L(2)*sin(phi)); AA=[X0,Y0,Z0]; for j=1:3 E(1,j)=(2*cos(theta(j))*(L(2)*cos(phi(j))+R(1)-R(2)))-(2*cos(theta(1))*(L(2)*cos(phi(1))+R(1)-R(2))); E(2,j)=(2*sin(theta(j))*(L(2)*cos(phi(j))+R(1)-R(2)))-(2*sin(theta(1))*(L(2)*cos(phi(1))+R(1)-R(2))); E(3,j)=(2*(L(2)*sin(phi(j))))-(2*(L(2)*sin(phi(1)))); E(4,j)=((L(2)*cos(phi(1))+R(1)-R(2))^2)+(L(2)*L(2)*sin(phi(1))*sin(phi(1)))-((L(2)*cos(phi(j))+R(1)-R(2))^2)-(L(2)*L(2)*sin(phi(j))*sin(phi(j))); end A(1)=E(3,2)*E(4,3)-E(3,3)*E(4,2); A(2)=E(1,3)*E(3,2)-E(1,2)*E(3,3); A(3)=E(2,2)*E(3,3)-E(2,3)*E(3,2); A(4)=E(2,3)*E(4,2)-E(2,2)*E(4,3); A(5)=E(1,2)*E(2,3)-E(1,3)*E(2,2); A(6)=L(2)*cos(phi(1))+R(1)-R(2); if A(3)==0 if (X0(1)==X0(2)&X0(1)==X0(3)&Y0(1)==Y0(2)&Y0(1)==Y0(3))
38
disp('Infinitas soluciones'); else disp('Dos soluciones'); end P1(1)=0; P2(1)=0; P1(2)=0; P2(2)=0; K(1)=1; K(2)=-(2*L(2)*sin(phi(1))); K(3)=(L(2)*cos(phi(1))+R(1)-R(2))^2+(L(2)*sin(phi(1)))^2-(L(1))^2; P1(3)=(-K(2)+(K(2)^2-4*K(1)*K(3))^0.5)/(2*K(1)); P2(3)=(-K(2)-(K(2)^2-4*K(1)*K(3))^0.5)/(2*K(1)); else K(1)=1+(A(2)/A(3))^2+(A(5)/A(3))^2; K(2)=(2*A(1)*A(2)/((A(3))^2))+(2*A(4)*A(5)/((A(3))^2))-(2*A(6)*cos(theta(1)))-(2*A(6)*A(2)*sin(theta(1))/(A(3)))-(2*L(2)*A(5)*sin(phi(1))/(A(3))); K(3)=(A(6)^2)-(L(1)^2)+(A(1)/A(3))^2+(A(4)/A(3))^2+(L(2)*L(2)*sin(phi(1))*sin(phi(1)))-(2*A(1)*A(6)*sin(theta(1))/(A(3)))-(2*L(2)*A(4)*sin(phi(1))/(A(3))); if (K(2)^2-4*K(1)*K(3))>0 disp('Dos soluciones') P1(1)=(-K(2)+(K(2)^2-4*K(1)*K(3))^0.5)/(2*K(1)); P2(1)=(-K(2)-(K(2)^2-4*K(1)*K(3))^0.5)/(2*K(1)); end if (K(2)^2-4*K(1)*K(3))==0 disp('Una solucion') P1(1)=(-K(2)+(K(2)^2-4*K(1)*K(3))^0.5)/(2*K(1)); P2(1)=(-K(2)-(K(2)^2-4*K(1)*K(3))^0.5)/(2*K(1)); end if (K(2)^2-4*K(1)*K(3))<0 disp('No se intersectan') P1(1)=nan; P2(1)=nan; else D=[E(2,2),E(3,2);E(2,3),E(3,3)]; B=[-E(1,2)*P1(1)-E(4,2);-E(1,3)*P1(1)-E(4,3)]; C=D\B; P1(2)=C(1); P1(3)=C(2); D=[E(2,2),E(3,2);E(2,3),E(3,3)]; B=[-E(1,2)*P2(1)-E(4,2);-E(1,3)*P2(1)-E(4,3)]; C=D\B; P2(2)=C(1); P2(3)=C(2); end end
3. Algoritmo para el cálculo de los diferentes índices
A continuación se presenta el código del programa principal y las diferentes funciones que utiliza. clc clear all % Este es el programa principal. delta=0.05; theta=[0 2*pi/3 4*pi/3]; [X,Y] = meshgrid(0:delta:3.5,0:delta:1.5); vol=0; volumen=zeros(length(X(:,1)),length(X(1,:))); kondgfr=zeros(length(X(:,1)),length(X(1,:)),7); kondg2=zeros(length(X(:,1)),length(X(1,:)),7); eigen=zeros(length(X(:,1)),length(X(1,:)),6); i=1;
39
j=1; %load('variables'); ll=i; lll=j; keyboard for i=ll:length(X(:,1)) for j=lll:length(X(1,:)) a=((sqrt(3)*X(i,j))-abs(Y(i,j)))/2; b=3-abs(Y(i,j))-a; if a>0 & a<3 & b>0 & b<3 if vol==984 [volumen(i,j),kondgfr(i,j,:),kondg2(i,j,:),eigen(i,j,:)]=volum(a,b,Y(i,j),theta,0.08); else [volumen(i,j),kondgfr(i,j,:),kondg2(i,j,:),eigen(i,j,:)]=volum(a,b,Y(i,j),theta,0.05); end vol=vol+1 else kondgfr(i,j,:)=-5*ones(1,7); kondg2(i,j,:)=-5*ones(1,7); eigen(i,j,:)=-5*ones(1,6); volumen(i,j)=-5; vol=vol+1 end end lll=1; vol=i*j; save('variables'); end volu=volumen; kondgfr_=kondgfr; kondg2_=kondg2; eigen_=eigen; for i=1:length(X(:,1)) for j=1:length(X(1,:)) if volumen(i,j)==-5; kondg2(i,j,:)=NaN(1,7); eigen(i,j,:)=NaN(1,6); volumen(i,j)=NaN; kondgfr(i,j,:)=NaN(1,7); end end end save('datos','volumen','X','Y','volu','v','kondgfr','kondgfr_','kondg2','kondg2_','eigen','eigen_')
function [volum,kondgfr,kondg2,eigen]=volum(a,b,r,theta,pres); kondgfr=[0,0,0,0,0,0,0]; kondg2=[0,0,0,0,0,0,0]; eigen=[0,0,0,0,0,0]; Nz=15; Nxy=15; kond1=Volumen(a,b,r,theta,Nz,Nxy); Nz=fix(Nz*2); Nxy=fix(Nxy*2); kond2=Volumen(a,b,r,theta,Nz,Nxy); intento=0; while abs((kond1-kond2)/kond1)>pres intento=intento+1; kond1=kond2; Nz=fix(Nz*1.2); Nxy=fix(Nxy*1.2); kond2=Volumen(a,b,r,theta,Nz,Nxy); end volum=kond2; [kondgfr,kondg2,eigen]=knum(a,b,r,theta,Nz,Nxy); end
40
function kond=Volumen(a,b,r,theta,Nz,Nxy); % Esta función calcula el volumen para las longitudes a b y r con un mallado % de Nz*Nxy*Nxy. L(1)=a; L(2)=b; deltaZ=(L(1)+L(2)+1)/Nz; deltaXY=((r+L(1))*sin(pi/6)+L(2)-((r-L(1))*sin(pi/6)-L(2)))/Nxy; x=(r-L(1))*sin(pi/6)-L(2):deltaXY:(r+L(1))*sin(pi/6)+L(2); y=(r-L(1))*sin(pi/6)-L(2):deltaXY:(r+L(1))*sin(pi/6)+L(2); z=0:deltaZ:L(1)+L(2)+1; [X,Y,Z] = meshgrid(x,y,z); AA=Z; clear a x y z; for i =1:3 MAT=(-2*r.*X*cos(theta(i))-2*r.*Y*sin(theta(i))+X.^2+r^2+L(1)^2+Z.^2+Y.^2-L(2)^2).^2-((2.*r.*L(1)-2.*L(1).*X.*cos(theta(i))-2.*L(1).*Y.*sin(theta(i))).^2+(2*L(1).*Z).^2); a=findn(MAT>0); clear MAT; if isempty(a)==0 for k=1:length(a(:,1)) AA(a(k,1),a(k,2),a(k,3))=NaN; end end end clear X Y Z if isempty(AA) kond=0; else a= findn(AA>=0); if isempty(a) kond=0; else length(a(:,1)); kond=length(a(:,1))*deltaZ*deltaXY*deltaXY; end end end
function [kondgfr,kondg2,eigen]=knum(a,b,r,theta,Nz,Nxy); % Esta función calcula los diferentes indices para las longitudes a b y r con un % mallado de Nz*Nxy*Nxy. eigen=[0,0,0,0,0,0]; kondgfr=[0,0,0,0,0,0,0]; kondg2=[0,0,0,0,0,0,0]; L(1)=a; L(2)=b; deltaZ=(L(1)+L(2)+1)/Nz; deltaXY=((r+L(1))*sin(pi/6)+L(2)-((r-L(1))*sin(pi/6)-L(2)))/Nxy; x=(r-L(1))*sin(pi/6)-L(2):deltaXY:(r+L(1))*sin(pi/6)+L(2); y=(r-L(1))*sin(pi/6)-L(2):deltaXY:(r+L(1))*sin(pi/6)+L(2); z=0:deltaZ:L(1)+L(2)+1; %z=0.7; [X,Y,Z] = meshgrid(x,y,z); AA=Z; clear a x y ; for i =1:3 MAT=(-2*r.*X*cos(theta(i))-2*r.*Y*sin(theta(i))+X.^2+r^2+L(1)^2+Z.^2+Y.^2-L(2)^2).^2-((2.*r.*L(1)-2.*L(1).*X.*cos(theta(i))-2.*L(1).*Y.*sin(theta(i))).^2+(2*L(1).*Z).^2); a=findn(MAT>0); clear MAT; if isempty(a)==0 for k=1:length(a(:,1)) AA(a(k,1),a(k,2),a(k,3))=-0.0001; end end end if isempty(AA)
41
kondgfr=[0,0,0,0,0,0,0]; kondg2=[0,0,0,0,0,0,0]; eigen=[0,0,0,0,0,0]; else a= findn(AA>=0); if isempty(a) kondgfr=[0,0,0,0,0,0,0]; kondg2=[0,0,0,0,0,0,0]; eigen=[0,0,0,0,0,0]; else for k=1:length(a(:,1)) P1=[X(a(k,1),a(k,2),a(k,3)),Y(a(k,1),a(k,2),a(k,3)),Z(a(k,1),a(k,2),a(k,3))]; phi=inversekadim(L,r,theta,P1); for i=1:3 Jp(i,1)=cos(phi(1,i)+phi(2,i))*sin(phi(3,i))*cos(theta(i))-cos(phi(3,i))*sin(theta(i)); Jp(i,2)=cos(phi(1,i)+phi(2,i))*sin(phi(3,i))*sin(theta(i))+cos(phi(3,i))*cos(theta(i)); Jp(i,3)=sin(phi(1,i)+phi(2,i))*sin(phi(3,i)); end Jq=L(1).*[sin(phi(2,1))*sin(phi(3,1)) 0 0; 0 sin(phi(2,2))*sin(phi(3,2)) 0; 0 0 sin(phi(2,3))*sin(phi(3,3))]; Jkinv=inv(Jq)*Jp; Jk=inv(Jp)*Jq; if norm(eig(Jkinv))>=1 kkkk1=1; kkkk2=0; else kkkk1=0; kkkk2=1; end if norm(eig(Jk))>=1 kkkk3=1; kkkk4=0; else kkkk3=0; kkkk4=1; end eige=[kkkk1,kkkk2,kkkk3,kkkk4,norm(eig(Jkinv)),norm(eig(Jk))]; eigen=eigen+eige; kkkfr=1/cond(Jkinv,'fro'); kkk2=1/cond(Jkonv,2); if kkkfr>1 | kkkfr<0 |kkk2>1 | kkk2<0 keyboard end if kkkfr>=0.2 kondgfr(6)=kondgfr(6)+1; if kkkfr>=0.3 kondgfr(4)=kondgfr(4)+1; if kkkfr>=0.5 kondgfr(2)=kondgfr(2)+1; else kondgfr(3)=kondgfr(3)+1; end else kondgfr(3)=kondgfr(3)+1; kondgfr(5)=kondgfr(5)+1; end else kondgfr(3)=kondgfr(3)+1; kondgfr(5)=kondgfr(5)+1; kondgfr(7)=kondgfr(7)+1; end if kkk2>=0.2 kondg2(6)=kondg2(6)+1; if kkk2>=0.3 kondg2(4)=kondg2(4)+1; if kkk2>=0.5 kondg2(2)=kondg2(2)+1; else
42
kondg2(3)=kondg2(3)+1; end else kondg2(3)=kondg2(3)+1; kondg2(5)=kondg2(5)+1; end else kondg2(3)=kondg2(3)+1; kondg2(5)=kondg2(5)+1; kondg2(7)=kondg2(7)+1; end kondgfr(1)=kondgfr(1)+kkkfr; kondg2(1)=kondg2(1)+kkk2; end kondgfr(1)=kondgfr(1)/length(a(:,1)); kondgfr(2)=kondgfr(2)*deltaXY*deltaXY*deltaZ; kondgfr(3)=kondgfr(3)*deltaXY*deltaXY*deltaZ; kondgfr(4)=kondgfr(4)*deltaXY*deltaXY*deltaZ; kondgfr(5)=kondgfr(5)*deltaXY*deltaXY*deltaZ; kondgfr(6)=kondgfr(6)*deltaXY*deltaXY*deltaZ; kondgfr(7)=kondgfr(7)*deltaXY*deltaXY*deltaZ; kondg2(1)=kondg2(1)/length(a(:,1)); kondg2(2)=kondg2(2)*deltaXY*deltaXY*deltaZ; kondg2(3)=kondg2(3)*deltaXY*deltaXY*deltaZ; kondg2(4)=kondg2(4)*deltaXY*deltaXY*deltaZ; kondg2(5)=kondg2(5)*deltaXY*deltaXY*deltaZ; kondg2(6)=kondg2(6)*deltaXY*deltaXY*deltaZ; kondg2(7)=kondg2(7)*deltaXY*deltaXY*deltaZ; eigen(1:4)=eigen(1:4)*deltaXY*deltaXY*deltaZ; eigen(5:6)=eigen(5:6)/length(a(:,1)); end end end
function ind=findn(arr); in=find(arr); sz=size(arr); if isempty(in), ind=[]; return; end; [out{1:ndims(arr)}] = ind2sub(sz,in); ind = cell2mat(out);
%Este código grafica los resultados. load('datos') figure (1) mesh(X,Y,volumen) xlabel('s') ylabel('t') zlabel('Volumen') figure (2) v=[0 0.1 1 3.0 5.0 8.0 12 16 20 22 26]; [C,h] = contour(X,Y,volu,v); clabel(C,h); xlabel('s') ylabel('t') figure (3) mesh(X,Y,kondg2(:,:,1)) xlabel('s') ylabel('t') zlabel('ICG (Segunda norma)') figure (4) v=[0 0.05 0.1 0.15 0.2 0.25 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]; [C,h] = contour(X,Y,kondg2_(:,:,1),v); clabel(C,h); xlabel('s') ylabel('t') figure (5) mesh(X,Y,kondgfr(:,:,1)) xlabel('s') ylabel('t') zlabel('ICG (Norma Euclidiana)') figure (6)
43
v=[0 0.05 0.1 0.15 0.2 0.25 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]; [C,h] = contour(X,Y,kondgfr_(:,:,1),v); clabel(C,h); xlabel('s') ylabel('t') figure (7) subplot(1,3,1) mesh(X,Y,kondg2(:,:,2)) xlabel('s') ylabel('t') zlabel('Volumen asociado a 1/k > 0.5(Norma Euclidiana)') figure(8) subplot(1,3,1) v=[0 1 2 3 4 5 6 7 8 9 10 ]; [C,h] = contour(X,Y,kondg2_(:,:,2),v); clabel(C,h); xlabel('s') ylabel('t') figure (7) subplot(1,3,2) mesh(X,Y,kondg2(:,:,4)) xlabel('s') ylabel('t') zlabel('Volumen asociado a 1/k > 0.3(Norma Euclidiana)') figure(8) subplot(1,3,2) [C,h] = contour(X,Y,kondg2_(:,:,4),v); clabel(C,h); xlabel('s') ylabel('t') figure (7) subplot(1,3,3) mesh(X,Y,kondg2(:,:,6)) xlabel('s') ylabel('t') zlabel('Volumen asociado a 1/k > 0.2(Norma Euclidiana)') figure(8) subplot(1,3,3) [C,h] = contour(X,Y,kondg2_(:,:,6),v); clabel(C,h); xlabel('s') ylabel('t') for i=1:6 figure (9) subplot(1,6,i) mesh(X,Y,eigen(:,:,i)) figure (10) subplot(1,6,i) v=[0 0.1 0.2 0.5 1 3.0 5.0]; [C,h] = contour(X,Y,eigen_(:,:,i),v); clabel(C,h); end figure (11) mesh(X,Y,eigen(:,:,5)) zlim([0 30]) figure (6) mesh(X,Y,eigen(:,:,6)) zlim([0 30]) figure (12) i=5; [C,h] = contour(X,Y,eigen_(:,:,i),v); clabel(C,h); figure (13) i=4; [C,h] = contour(X,Y,eigen_(:,:,6),v); clabel(C,h);
48
5. Planos de ingeniería
A continuación se presentan los planos de ingeniería de las partes del Robo
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A3Plano
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
36
41
23
10
Número deelemento
Número deDocumento
Título Cantidad
1 1
2 3
3 6
4 1
1:2
Robot delta ensamblado
Brazo inferior
Brazo superior
Plataforma móvil2
Plataforma estática
4
3
5
1 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4Plano
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
21
13
36
1:2
Plataforma móvil
Base Plataforma móvil6
7 Unión esférica Plataforma móvil
Tornillo allen 5/32' x 20 mm
Número deelemento
Número deDocumento
Título Cantidad
1 3
2 1
3 6
2 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4Plano
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
11
Número deelemento
Número deDocumento
Título Material Cantidad
1 1
2 2
22
1:2
Brazo superior
Barra 1/4' x 206 mm
8 Unión esférica Brazo superior
SAE 12L14
3 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4
Material
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
25 54 25
43,3
90,07
4,76
9,52
10 34
10
34
10
34O 5/32' ` 15 X 6
Aluminio
1:1
Base Plataforma móvil
6 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4
Material
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
R 6
10,47 12,51 10 34 10 12,51 10,47
99,97
54
R6
O 5/32' X2
8 6
8
SAE 12L14
1:1
Unión esférica plataforma móvil
10
7 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4
Material
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
Aluminio
2:1
Unión esférica brazo superior
12 6,35
10
24
35
55
R 5
R 6
155°
33
123
8 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4
Material
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
1:1
Unión esférica brazo inferior
8
99,97
54
10,47 12,51 27 27 12,51 10,47
R 6
R6
10
SAE 12L14
9 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4
Material
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
2:1
Unión a servomotor
SAE 12L14
12,7
R 10
R 10
3
877,277,7310
6,35
40
O 3/16' UNC
10 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4
Material
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
SAE 1020
1:2
Base Plataforma estática
170
23,51
34,64
40127,2220
170
40
47,03
2,5
O 30
O4.3 x 4
11 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4Plano
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
Número deelemento
Número deDocumento
Título Material Cantidad
1 1
2 1
3 1
4 1
11
21
41
31
1:2
Brazo inferion
Unión esférica Brazo inferior9
10 Unión a servomotor
Tuerca de seguridad 1/4
Barra 1/4' x 237 SAE 12L14
SAE 12L14
Aluminio
4 de 11
Mayo 26 de 2010
Dibujado
Salvo indicación contrariacotas en milímetrosángulos en grados
Nombre
Fecha
Título
A4Plano
Escala
Alejandro Villaveces Pardo DISEÑO Y CONSTRUCCIÓN DE UN ROBOTTIPO DELTA
Número deelemento
Número deDocumento
Título Material Cantidad
1 3
2 1
21
13
1:3
Plataforma estática
Servomotor Yaskawa SGMAH 01AAF41
Base SAE 102011
5 de 11