alejandro villaveces pardo

59
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

Upload: others

Post on 24-Nov-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

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).

16

Figura 8: Posición Singular donde

para todos los brazos.

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.

23

Figura 11: Volumen del espacio de trabajo.

24

Figura 12: Índice de condicionamiento global segunda norma.

25

Figura 13: Índice de condicionamiento global norma euclidiana.

26

Figura 14: volumen del espacio de trabajo asociado a un valor de mayor a 0.5,

0.3 y 0.2.

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);

44

4. Fotos de la plataforma y el ensamble

Plataforma móvil.

Parte superior de los brazos

45

Plataforma Basa y parte inferior de los brazos

Unión esférica

46

Robot ensambaldo

47

Plataforma en una posición estirada

Plataforma en inversión geométrica

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