Diseño y construcción de una plataforma 6-RSS a escala
mediante la optimización del espacio de trabajo libre de
singularidades
Santiago Iregui Rincón
Proyecto de grado para optar al título de
Ingeniero Mecánico
Asesor
Juan Sebastián Núñez Gamboa
MSc. Ingeniero Mecánico
Universidad de los Andes
Facultad de Ingeniería
Departamento de Ingeniería Mecánica
Bogotá D.C.
Agradecimientos
Agradezco profundamente a mis padres por haberme educado y forjado como la persona que soy. A ellos les dedico este trabajo, el cual representa el fin de una gran etapa de mi vida.
A mis tíos Jorge y Maria T, les agradezco profundamente por haberme apoyado con mi educación. Sin ellos probablemente no estaría donde estoy.
A mi asesor Juan Sebastián Núñez le agradezco muchísimo por haberme guiado a través de este proceso, y por haberme permitido realizar este trabajo. Gracias a él pude elegir un trabajo apasionante que disfruté al máximo.
Contenido
1. Introducción ... 1
2. Objetivos ... 2
2.1. Objetivo principal ... 2
2.2. Objetivos Secundarios... 2
3. Marco Contextual ... 3
3.1. Tipos de robots ... 3
3.2. Topologías Robots Paralelos ... 5
3.3. Antecedentes ... 7
4. Definición de los parámetros de diseño de la plataforma ... 9
5. Análisis de Posición ... 12
5.1. Definición sistemas de referencia ... 12
5.2. Análisis de posición plataforma 6-SPS ... 15
5.3. Análisis de posición plataforma 6-RSS ... 16
6. Análisis de velocidad ... 20
7. Análisis de Fuerzas... 24
8. Singularidades ... 26
8.1. Definición singularidades de cinemática inversa ... 26
8.2. Definición singularidades de cinemática directa ... 26
8.3. Método implementado para hallar singularidades ... 27
9. Workspace y Taskspace ... 29
10. Optimización... 35
11. Resultados y Análisis ... 36
11.1. Optimización ... 36
11.2. Selección de Actuadores ... 40
11.3. Selección de Microcontrolador ... 41
11.4. Análisis cinemático... 42
11.5. Análisis de fuerzas ... 47
11.6. Workspace y Taskspace... 49
11.7. Programas de control y visualización ... 55
11.7.1. Programa de posición ... 55
11.7.2. Programa de Trayectorias ... 56
11.7.3. Programa del espacio de trabajo ... 58
11.8. Diseño Mecánico y manufactura ... 59
12. Conclusiones ... 63
14. Referencias ... 67
15. Anexos ... 69
15.1. Explicación ángulos de Euler ... 69
15.2. Explicación programación de Arduino desde Matlab ... 70
15.3. Explicación conexiones eléctricas ... 72
Lista de Ilustraciones
Ilustración 1. Plataforma Stewart-Gough Universidad de los Andes ... 6
Ilustración 2. Partes relevantes en la cinemática de la plataforma ... 9
Ilustración 3. (a) Parámetros de la base. (b) Parámetros de la plataforma móvil ... 10
Ilustración 4. Definición del largo de la barra 1. ... 10
Ilustración 5. Definición del largo de la barra 2. ... 11
Ilustración 6. Sistema de coordenadas de la base vista general ... 12
Ilustración 7. Sistema de coordenadas de la base vista plano XY ... 13
Ilustración 8. Esquema que ilustra el sistema de referencia de los ángulos de los actuadores. Se ilustra un par de actuadores, donde los ejes de rotación (𝑌𝑖) son paralelos. ... 14
Ilustración 9. Definición del sistema de coordenadas de la plataforma móvil y del sistema de coordenadas global. ... 14
Ilustración 10. Planteamiento cadenas cinemáticas para el análisis de posición de la plataforma 6-SPS. ... 16
Ilustración 11. Planteamiento cadenas cinemáticas para el análisis de posición de la plataforma 6-RSS ... 16
Ilustración 12. Cadena cinemática para análisis de velocidad ... 21
Ilustración 13 Limitación angular de la unión esférica ... 29
Ilustración 14. Límite superior de la unión esférica ... 30
Ilustración 15. Límite inferior de la unión esférica ... 30
Ilustración 16. Vectores utilizados para calcular 𝛼 ... 31
Ilustración 17. Diagrama de flujo del algoritmo para hallar el espacio de trabajo y las singularidades ... 32
Ilustración 18. Diagrama de flujo del algoritmo para hallar el Taskspace. ... 33
Ilustración 19. Ejemplo de la representación gráfica del Workspace, Taskspace, y las singularidades (unidades en mm) ... 34
Ilustración 20. Curvas de nivel del ejemplo de la Ilustración 19 (unidades en mm). (a) Z=220 mm. (b) Z=170 mm... 34
Ilustración 21. Proceso de convergencia de la primera ejecución del algoritmo genético... 38
Ilustración 22. Proceso de convergencia de la segunda ejecución del algoritmo genético ... 39
Ilustración 23. Análisis de posición de trayectoria sinusoidal en X con amplitud de 50 mm ... 43
Ilustración 24. Análisis de velocidad de trayectoria sinusoidal en X con amplitud de 50 mm .... 43
Ilustración 25. Análisis de posición de trayectoria sinusoidal en Z con amplitud de 50 mm ... 44
Ilustración 26. Análisis de velocidad de trayectoria sinusoidal en Z con amplitud de 50 mm .... 44
Ilustración 27. Análisis de posición de trayectoria sinusoidal en Roll con amplitud de 15 grados ... 45
Ilustración 28. Análisis de velocidad de trayectoria sinusoidal en Roll con amplitud de 15 grados ... 45
Ilustración 29. Análisis de posición de trayectoria sinusoidal en Yaw con amplitud de 15 grados ... 46
Ilustración 30. Análisis de velocidad de trayectoria sinusoidal en Yaw con amplitud de 15 grados... 46
Ilustración 31. Fuerzas máximas permitidas en z=307mm, roll= 0°, pitch = 0°, yaw = 0° ... 48
Ilustración 32. Fuerzas máximas permitidas en z=307mm, roll= 10°, pitch = 0°, yaw = 0° ... 48
Ilustración 34. Fuerzas máximas permitidas en z=307mm, roll= 0°, pitch =0°, yaw = 10° ... 49
Ilustración 35. Vista 3D del Workspace y el Taskspace roll = 0°, pitch = 0°, yaw = 0°. (Unidades en mm) ... 50
Ilustración 36. Curvas de nivel Workspace y Taskspace, roll = 0°, pitch = 0°, yaw = 0°. (Unidades en mm) ... 51
Ilustración 37. Vista 3D del Workspace y el Taskspace roll = 5°, pitch = 5°, yaw = 5°. (Unidades en mm) ... 51
Ilustración 38. Curvas de nivel Workspace y Taskspace, roll = 5°, pitch = 5°, yaw = 5°. (Unidades en mm) ... 52
Ilustración 39. Curvas de nivel Workspace y Taskspace, roll = 10°, pitch = 0°, yaw = 0°. (Unidades en mm) ... 52
Ilustración 40. Curvas de nivel Workspace y Taskspace, roll = 0°, pitch = 10°, yaw = 0°. (Unidades en mm) ... 53
Ilustración 41. Curvas de nivel Workspace y Taskspace, roll = 0°, pitch = 0°, yaw = 10°. (Unidades en mm) ... 53
Ilustración 42. Vista 3D del Workspace y el Taskspace roll = 0°, pitch = 0°, yaw = 0° sin tener en cuenta la condición 2. (Unidades en mm) ... 54
Ilustración 43. Curvas de nivel Workspace y Taskspace, roll = 0°, pitch = 0°, yaw = 0° sin tener en cuenta la condición 2. (Unidades en mm) ... 54
Ilustración 44. Interfaz gráfica software para simulación y control de posición ... 56
Ilustración 45. Interfaz gráfica software para simulación y control de trayectoria ... 57
Ilustración 46. Interfaz gráfica para cálculo y visualización Workspace y Taskspace. ... 59
Ilustración 47. CAD 3D de la plataforma diseñada ... 60
Ilustración 48. Limitación angular de las rótulas seleccionadas ... 61
Ilustración 49. Foto tomada de la plataforma. ... 61
Ilustración 50. Colisión entre la barra 1 y la barra 2 ... 62
Ilustración 51. Rotaciones independientes de los ángulos de Euler... 69
Ilustración 52. Explicación señal PWM (tomada de https://www.arduino.cc/en/Tutorial/PWM) ... 71
Ilustración 53. Curva de calibración servomotor 1, pin 2. ... 71
Ilustración 54. Curva de calibración servomotor 2, pin 3. ... 72
Lista de Tablas
Tabla 1. Comparación entre robots seriales y robots paralelos ... 4
Tabla 2. Valores definidos de los parámetros de variación... 32
Tabla 3. Valores de los parámetros de variación definidos en la primera ejecución del algoritmo de optimización ... 36
Tabla 4. Valores de los parámetros de variación definidos en la segunda ejecución del algoritmo de optimización ... 36
Tabla 5. Restricciones seleccionadas de los parámetros de diseño para la primera ejecución del algoritmo genético ... 37
Tabla 6. Resultados obtenidos de los parámetros de diseño en la primera ejecución del algoritmo genético ... 38
Tabla 7. Restricciones seleccionadas de los parámetros de diseño para la segunda ejecución del algoritmo genético ... 38
Tabla 8. Resultados obtenidos de los parámetros de diseño en la segunda ejecución del algoritmo genético ... 39
Tabla 9. Comparación de los resultados obtenidos en la primera y en la segunda ejecución del algoritmo genético ... 39
Tabla 10. Características de diferentes servomotores consultados ... 41
Tabla 11. Características técnicas de los servomotores elegidos. ... 41
Tabla 12. Características técnicas del Arduino Mega 2560 ... 42
Tabla 13. Comparación entre los distintos volúmenes y longitudes de los cubos obtenidos con distinta orientación ... 55
Tabla 14. Mínimos y máximos ángulos que la plataforma puede alcanzar. ... 55
Tabla 15. Especificación de la manufactura de las piezas ... 59
Tabla 16. Masas de los componentes de la plataforma (estimadas mediante el software Autodesk Inventor) ... 60
1
1.
Introducción
En la actualidad la robótica ha sido gran fuente de investigación en el desarrollo de diferentes mecanismos capaces de cumplir con distintas tareas. En particular, el desarrollo tecnológico en robots paralelos ha aumentado a través de los años debido a sus características. Este tipo de robot presenta grandes ventajas contra su competidor, el robot serial, el cual también es ampliamente usado en la industria. Sus ventajas principales son el hecho de requerir menos robustez, menor peso, y menor momento de inercia en sus barras para operar. Esto se debe a que el robot serial, al tener cadenas cinemáticas abiertas, la deflexión de cada uno de los miembros genera un mayor error de posición en el efector final. Debido a esto se debe aumentar el tamaño de los componentes [1]. Por otro lado, la ventaja de trabajar con robots seriales, es que su análisis dinámico y su diseño son mucho más simples.
En general estos dos robots tienen muchas aplicaciones en la industria, y en otro tipo de actividades. En el caso de los robots paralelos, existe una gran variedad de configuraciones que permiten obtener un diferente número de grados de libertad. Existen, por ejemplo, robots de tres grados de libertad, los cuales permiten el desplazamiento en un espacio tridimensional, pero no permiten orientar el efector. También existen robots de cuatro grados de libertad, los cuales se utilizan como manipuladores de objetos en procesos de automatización industrial.
Para el caso de este proyecto, se optó por trabajar con un tipo de robot paralelo 6-RSS, el cual es una topología alternativa de la tradicional plataforma Stewart-Gough. Esta plataforma tiene 6 grados de libertad que le permiten cambiar de posición y de orientación en un espacio tridimensional. Por este motivo, este robot tiene un sinnúmero de aplicaciones. Como ejemplo, se ha utilizado esta plataforma para la construcción de simuladores de vuelo para pilotos, simuladores de automóviles de carreras, centros de mecanizado CNC, manipuladores de objetos para la automatización de productos, asistentes quirúrgicos en cirugías complejas [1], etc. Aun así, su uso no se limita a las aplicaciones ya obtenidas comercialmente, sino que se extiende a cualquier aplicación que requiera de un robot capaz de operar en todas las dimensiones espaciales de trabajo, tanto de posición como de orientación.
2
2.
Objetivos
2.1. Objetivo principal
- Diseño y construcción de una Plataforma 6-RSS a escala, mediante la optimización del espacio de trabajo libre de singularidades con orientación constante .
2.2. Objetivos Secundarios
- Planteamiento de los modelos matemáticos para el análisis de posición y velocidad de una plataforma 6-RSS (cinemática inversa) con seis actuadores rotacionales independientes.
- Análisis del espacio de trabajo y de las singularidades de una plataforma 6-RSS. - Determinación de los parámetros de diseño de la plataforma (relevantes desde
el punto de vista dinámico), mediante la optimización del espacio de trabajo libre de singularidades de cinemática directa.
- Diseño mecánico y manufactura con materiales duraderos y livianos.
- Programación computacional de un programa que permita realizar el análisis de posición de la plataforma 6-RSS. Este programa computacional tendrá una interfaz gráfica amigable con el usuario, y a través de este también se podrá manipular la plataforma construida por un usuario sin experiencia de manera segura.
- Programación computacional de una aplicación que permita realizar la simulación de diferentes trayectorias de la plataforma 6-RSS, y su respectiva manipulación. Este programa computacional podrá ser utilizado por un usuario sin experiencia de manera segura.
3
3.
Marco Contextual
3.1. Tipos de robots
Debido a que la plataforma que se va a diseñar y a construir es en realidad un robot, es importante entrar en contexto en los tipos de robots que existen en el campo de la robótica. Por esta razón se nombraran algunos de los tipos de robots que existen en la actualidad y se dará una descripción resumida. Todos los robots pueden tener múltiples grados de libertad, y esto depende de la tarea que van a realizar. A continuación se listan los diferentes tipos de robots a tratar
- Robots Androides o Humanoides: Son robots que intentan imitar el comportamiento cinemático del ser humano. Son los robots probablemente más conocidos por los productores de películas futurísticas y de ciencia ficción. Actualmente existe poco desarrollo en este tipo de robots.
- Robots Móviles: Estos robots son diseñados especialmente para desplazarse grandes distancias mediante el uso de llantas u orugas. Este tipo de robots actualmente es de gran interés por parte de varios grupos de investigación. Se destaca principalmente concurso DARPA Gran Challenge, el cual es un concurso que ha impulsado el desarrollo de vehículos autónomos. Estos vehículos se caracterizan por poder circular por lugares sin necesidad de un conductor u operario humano.
- Robots Deformables (Soft robotics): Este tipo de robots utiliza componentes deformables, por lo cual no se utiliza la tradicional mecánica de solidos rígidos para analizar su comportamiento estático y dinámico. Algunos de los robots que se han creado son bioinspirados. Como ejemplo se han creado medusas capaces de nadar y serpientes capaces de moverse por la tierra.
- Robots bioinspirados: Son robots inspirados en el comportamiento cinemático de diferentes animales. Estos pueden utilizar componentes deformables (soft robotics) o pueden utilizar componentes rígidos. En general intentan imitar la manera en que los animales se desplazan.
- Robots Manipuladores: Se caracterizan por manipular objetos en un espacio bidimensional o tridimensional. Estos robots son los más utilizados en la industria, e.g. procesos de automatización. El robot que se pretende diseñar en este trabajo hace parte de esta categoría. Por esta razón se hará énfasis en este tipo de robots, y se explicará más detalladamente que el resto. Los robots manipuladores se pueden clasificar en dos tipos [2]:
4
o Manipuladores Seriales: Son robots con una cadena cinemática abierta. En general se conocen como brazos robóticos, y se utilizan ampliamente en la industria para procesos de automatización.
o Manipuladores Paralelos: Son robots con múltiples cadenas cinemáticas cerradas. Se utilizan en la industria, por ejemplo, para empacar productos a alta velocidad. También son utilizados ampliamente para realizar simuladores de movimiento.
En la Tabla 1 se muestra una comparación entre los robots seriales y los robots paralelos [2].
Tabla 1. Comparación entre robots seriales y robots paralelos
Parámetro Robots Seriales Robots Paralelos
Rigidez Los robots seriales, al tener
cadenas cinemáticas abiertas, tienen una desventaja con respecto a los robots paralelos en cuestión de rigidez. Por eso, para compensar, se utilizan miembros con bastante momento de inercia
Se consigue buena rigidez debido a sus cadenas cinemáticas cerradas
Tamaño componentes
Usualmente, para compensar sus deficiencias en rigidez, se utilizan componentes con bastante momento de inercia.
Se pueden utilizar componentes con menor momento de inercia, en comparación a los robots seriales
Actuadores Debido al gran peso de los robots
se deben utilizar actuadores más potentes. Adicionalmente la mayoría de los actuadores se mueven junto con el robot, razón por la cual aumenta el peso del robot. Cada actuador se utiliza para mover un único grado de libertad.
Todos los actuadores actúan en conjunto para mover el robot, y por eso se reduce la potencia de los actuadores. Adicionalmente, hay configuraciones que permiten tener los actuadores estáticos, es decir, no se mueven junto con el robot.
Espacio de
trabajo
Usualmente permiten mover el efector final en un mayor espacio de trabajo.
Usualmente tienen un espacio de trabajo más limitado
Velocidad Usualmente tienen menor
velocidad debido al gran tamaño de los componentes
Usualmente se pueden alcanzar mayores velocidades debido al menor tamaño de los componentes y a que se tienen
5
actuadores trabajando en conjunto.
Dificultad de diseño
En general son más fáciles de analizar dinámicamente, y por ende son más fáciles de diseñar.
Debido a su complejidad en el análisis dinámico, estos robots son más difíciles de diseñar generalmente.
Cinemática Usualmente es más fácil resolver
la cinemática directa. La cinemática inversa suele tener más de una solución.
Usualmente es más fácil de resolver la cinemática inversa. La cinemática directa suele tener más de una solución. Siendo un problema altamente no lineal, usualmente se requiere de algún método numérico para resolver la cinemática directa.
3.2. Topologías Robots Paralelos
Existen varias configuraciones de robots paralelos que permiten obtener diferentes características técnicas en el diseño. En el caso particular de los robots de 6 grados de libertad existen dos topologías particulares que, en el caso particular de este trabajo, se ve la necesidad de describirlas.
- Plataforma 6-SPS: Este robot se conoce como plataforma Stewart-Gough, debido a los nombres de las personas que la desarrollaron. El número 6 indica que el robot tiene seis miembros, y por ende, tiene seis grados de libertad. Las letras indican el tipo de uniones que conforma cada miembro de manera ordenada. Esto quiere decir que el miembro lleva primero una unión esférica (S), después lleva una unión prismática (P) y por ultimo lleva otra unión esférica (S). Cada unión prismática está actuada por un actuador lineal, de manera que la plataforma lleva seis actuadores. En la Ilustración 1 se muestra un ejemplo de este robot construido en la Universidad de los Andes. Cabe aclarar que en este ejemplo se remplazaron las uniones esféricas por uniones universales con rotación en la base.
6
Ilustración 1. Plataforma Stewart-Gough Universidad de los Andes
- Plataforma 6-RSS: Esta topología es una alternativa de la tradicional 6-RSS. También tiene seis grados de libertad, y a eso se debe el número 6 en su nombre. Cada miembro de la plataforma está compuesta de manera ordenada por: una unión de rotación (R) y posteriormente dos uniones esféricas (S). La plataforma es actuada en su unión de rotación por actuadores rotacionales, es decir, motores. Usualmente se utilizan servomotores para actuar la plataforma. En la sección 11.8 se muestran imágenes de esta topología.
En este proyecto se eligió el diseño y la construcción de la plataforma 6-RSS debido a las siguientes razones:
- Debido a la topología de la plataforma 6-RSS el cuerpo de los actuadores no se mueven junto con la plataforma. Esto representa una ventaja muy grande frente a la plataforma 6-SPS. Cuando se tienen plataformas grandes, donde el peso de los actuadores es elevado, se logra tener un ahorro significativo en los requerimientos de torque de los actuadores y en el consumo de energético de los mismos.
- En la Universidad de los Andes se han realizado varios proyectos que involucran la plataforma 6-SPS, pero hasta el momento no se encuentran trabajos sobre la plataforma 6-RSS.
- En la literatura se consigue bastante información sobre la plataforma 6-SPS. Sin embargo, existe información muy limitada sobre la plataforma 6-RSS. Esto se considera como una ventaja debido a que el reto ingenieril de realizar una plataforma 6-RSS es más grande
- Los actuadores rotativos pueden ser más eficientes que los actuadores lineales (en el caso de sistemas eléctricos). Esto se debe a que los actuadores lineales
7
generalmente están compuestos por un actuador rotativo y un sistema de tornillo que convierte el movimiento lineal a rotacional. Cuando se realiza esta conversión, debido a la fricción en los componentes, se pierde una cantidad considerable de energía en calor y por ende su eficiencia energética baja. Por otro lado, el análisis cinemático de la plataforma 6-RSS es más complejo que el de la plataforma 6-SPS como se verá en la sección 5.
3.3. Antecedentes
En esta sección se hablará de las aplicaciones que se le han dado a la plataforma Stewart-Gough. Dado que esta plataforma y la plataforma 6-RSS son el mismo tipo de robot, pero con distinta topología, las aplicaciones para la primera pueden ser las mismas que para la segunda. Sin embargo, como se explicó anteriormente, la topología de la Stewart-Gough es mucho más conocida y utilizada, y por eso se hará énfasis en esta.
Actualmente, existe un gran número de aplicaciones para plataforma Stewart-Gough. Desde la automatización de procesos industriales, hasta asistentes quirúrgicos en cirugías de cráneo, se han creado un gran número de aplicaciones. En esta sección se hablará un poco de ejemplos de estas aplicaciones para ilustrar el alcance y la importancia que tiene este robot paralelo.
Una aplicación muy interesante es la desarrollada por la compañía Giddings and Lewis. Dicha compañía desarrolló un centro de mecanizado CNC por medio de una plataforma Stewart-Gough. Este tipo de centro de mecanizado proporciona una increíble ventaja con respecto a los centros de mecanizado tradicionales de tres grados de libertad. Dicho CNC, llamado “Stewart Platform Mill”, permite tres grados de libertad adicionales, es decir seis grados de libertad. Estos permiten la obtención de geometrías imposibles de obtener por medio de un CNC convencional. Un ejemplo de esto es la realización de un agujero sobre una placa dada una inclinación en la broca.
También existen en la actualidad simulaciones de movimiento para aviones, vehículos terrestres y vehículos acuáticos, construidos mediante plataformas Stewart-Gough. Dichos simuladores conectan la plataforma a un software de simulación o video juego, y este se encarga de generar las trayectorias de la plataforma a medida que el usuario interactúa con el simulador. Por ejemplo, si el usuario pisa el pedal de freno del simulador vehicular, la plataforma se encarga de hacer sentir al usuario la sensación de frenado.
Por el lado de la medicina, se han creado asistentes quirúrgicos con base a la plataforma Stewart-Gough [1]. Estos robots son capaces de asistir al médico en cirugías delicadas (e.g. cráneo facial), y reducen las posibilidades de cometer un error durante la cirugía. En el caso de Colombia, existen muchas personas que han perdido parte de la estructura cráneo facial por impactos, explosiones u otro tipo de accidentes [1]. Debido a la alta exigencia en la precisión de operación, la plataforma Stewart-Gough resulta una excelente alternativa para asegurar la calidad de la cirugía.
8
Aunque se hizo mención de algunos ejemplos de aplicaciones en la industria, en la medicina y en el entretenimiento, existen muchos otras aplicaciones que hacen que la plataforma Stewart-Gough sea un robot muy versátil e importante como materia de estudio.
9
4.
Definición de los parámetros de diseño de la plataforma
Para realizar los análisis de la cinemática de la plataforma, es fundamental primero definir las partes que la componen y los parámetros de diseño que influyen a estas partes. Es por esto que en esta sección se definirán los parámetros de diseño relevantes para definir la cinemática de la plataforma 6-RSS. En la Ilustración 2 se pueden observar las piezas más importantes que conforman la plataforma. Las dimensiones de las piezas mostradas definen el comportamiento cinemático de la plataforma.
Ilustración 2. Partes relevantes en la cinemática de la plataforma
En la Ilustración 3 (a) se muestran los parámetros relevantes de la base. Se observa que esta está definida por dos parámetros. El primero, llamado 𝜃𝑏, indica el ángulo que se forma entre cada par de actuadores. Este ángulo estará entre el actuador 1 y el actuador 6, entre el actuador 2 y el actuador 3, y finalmente entre el actuador 4 y el actuador 5. Cada par de actuadores hace girar las barras 1 en el mismo plano, como se verá con mayor detalle en la sección 5. También se define la variable 𝑅𝑏, el cual indica la distancia que hay entre cada actuador y el centro geométrico del hexágono.
Cabe aclarar que no todas las plataformas 6-RSS tienen pares de actuadores que hacen girar las barras 1 en el mismo plano. Esto depende de la decisión del diseñador, ya que estas barras pueden girar en planos distintos. Sin embargo, por simplicidad, se diseñan las plataformas de manera que los ejes de giro de cada par de motores estén ubicados de manera simétrica entre sí. Aun así, lo más común es encontrar que las barras conectadas a cada par de actuadores giren en el mismo plano, al igual que en el diseño de este proyecto.
10
(a) (b)
Ilustración 3. (a) Parámetros de la base. (b) Parámetros de la plataforma móvil
En la Ilustración 3 (b) se definen los parámetros relevantes de la plataforma móvil. Al igual que en la base, se define un ángulo 𝜃𝑝 que va entre cada par de uniones esféricas. También se define un radio 𝑅𝑏 que indica la distancia que hay entre cada unión esférica y el centro geométrico del hexágono.
Ilustración 4. Definición del largo de la barra 1.
Se puede observar la Ilustración 4, la cual define el largo de la barra 1. Este largo se define entre el centro de rotación del actuador y el centro donde va acoplada la unión esférica. De igual manera en la Ilustración 5 se puede observar el largo de la barra 2. Este largo se define entre los centros de las esferas que conforman las uniones esféricas.
11
12
5.
Análisis de Posición
Para realizar el análisis de posición de cualquier mecanismo, es necesario establecer los sistemas de referencia que se van a utilizar como primera medida. Para el caso particular de las plataformas 6-SPS y 6-RSS, es necesario establecer varios sistemas de referencia. Por esta razón la sección 4.1 está dedicada a la definición de todos los sistemas de referencia necesarios para realizar dicho análisis.
Para realizar el análisis de posición de la plataforma 6-RSS, se debe realizar primero el análisis de la plataforma 6-SPS, como se podrá ver más adelante. Por esta razón se realiza el análisis de la plataforma 6-SPS en la sección 4.2 y el resultado obtenido se utiliza en la sección 4.3 para realizar el análisis de posición de la plataforma 6-RSS.
5.1. Definición sistemas de referencia
El análisis de posición de la plataforma Stewart, en el caso de interés del proyecto, es un problema de cinemática inversa. Para realizar dicho análisis, el primer paso es definir los sistemas de coordenadas de la base. Se puede observar en la Ilustración 6 los sistemas de coordenadas elegidos. El subíndice 0 denota los ejes correspondientes al sistema de coordenadas global (Nombrado A). Los subíndices del 1 al 6 indican los sistemas de coordenadas locales para cada actuador (Nombrados Bi, donde el subíndice i denota el número asignado para cada actuador).
Ilustración 6. Sistema de coordenadas de la base vista general
En la Ilustración 7 se observan los mismos sistemas de coordenadas en el plano 𝑋0𝑌0. Ahí se puede observar con mayor claridad que existen tres pares de sistemas de coordenadas, donde los ejes Xi de los sistemas pertenecientes a cada par son colineales, y los ejes Yi y Zi son paralelos. Los actuadores van a rotar con respecto a los ejes Yi.
13
Ilustración 7. Sistema de coordenadas de la base vista plano XY
Para transformar un vector 𝑉⃗ expresado en un sistema de coordenadas 𝐵𝑖 al sistema de coordenadas global A, se debe emplear la siguiente operación
𝑉⃗
𝐴 = 𝑅𝑜𝑡 𝐵𝑖
𝐴 𝑉𝐵𝑖⃗ Ecuación 1
Donde:
𝑅𝑜𝑡𝐵𝑖 = [
cos (𝜓) −sin (𝜓) 0 sin (𝜓) cos (𝜓) 0
0 0 1
]
𝐴 Ecuación 2
La variable 𝜓 corresponde al ángulo que se rota cada sistema de coordenadas 𝐵𝑖 con respecto a 𝐴𝑖 en el eje 𝑍0. Este se puede calcular de la siguiente manera
Si el subíndice i es par
𝜓 = 𝑎𝑡𝑎𝑛2(𝐵𝑖𝑦 , 𝐵𝑖𝑥) − 𝛾 + 𝜋 2
Ecuación 3
Si el subíndice i es impar
𝜓 = 𝑎𝑡𝑎𝑛2(𝐵𝑖𝑦 , 𝐵𝑖𝑥) + 𝛾 − 𝜋 2
Ecuación 4
Considérese la función atan2 como una función que recibe las coordenadas X y Y de un punto, y devuelve el argumento de ese punto. Se diferencia con la función tan−1 𝐵𝑖𝑦
𝐵𝑖𝑥 debido a que esta última solo funciona para elementos en el primer y cuarto cuadrante del plano.
La variable 𝐵𝑖𝑥 corresponde a la coordenada en 𝑋0 del origen de los sistemas 𝐵𝑖 expresados en el sistema de coordenadas A. Por otro lado, La variable 𝐵𝑖𝑦 corresponde a la coordenada en 𝑌0 del mismo. En otras palabras el valor de 𝑎𝑡𝑎𝑛2(𝐵𝑖𝑦 , 𝐵𝑖𝑥) corresponde al argumento de los orígenes de los sistemas 𝐵𝑖 (en coordenadas polares). Por otro lado, el ángulo 𝛾 corresponde a la mitad del ángulo que se forma entre los orígenes de cada par de sistemas coordenados de la base 𝐵𝑖. Es decir, el ángulo 𝛾 se puede calcular como
14
𝛾 = 𝑎𝑡𝑎𝑛2(𝐵𝑖𝑦 , 𝐵𝑖𝑥) Ecuación 5
Nótese que se reemplazó el subíndice i por 1, donde el sistema 𝐵1 se define claramente en la Ilustración 7.
Cabe aclarar que el cálculo realizado de los ángulos 𝜓 se hace para garantizar que las barras en cada par de actuadores giren en el mismo plano. En este caso dichas barras siempre apuntaran hacia afuera (nunca se apuntaran entre ellas mismas). Si se quisiera que ocurriera lo contrario, bastaría con invertir el signo del 𝜋/2 tanto en los subíndices pares como en los impares. Si se quisiera que las barras de cada par de actuadores no giren en el mismo plano, se debería cambiar el 𝜋/2 por otro valor.
En la Ilustración 8 se observa el sistema de referencia del ángulo βi, el cual se emplea para describir la posición de las barras 1.
Ilustración 8. Esquema que ilustra el sistema de referencia de los ángulos de los actuadores. Se ilustra un par de
actuadores, donde los ejes de rotación (𝑌𝑖) son paralelos.
En la Ilustración 9 se puede observar el sistema de coordenadas establecido para la plataforma móvil. El punto P es el punto de interés que se quiere posicionar y orientar, y el origen del sistema de coordenadas D está ubicado en este punto.
Ilustración 9. Definición del sistema de coordenadas de la plataforma móvil y del sistema de coordenadas global. Para realizar una transformación de la orientación de un vector 𝑉⃗ expresado en el sistema D al sistema A se debe utilizar la siguiente ecuación
15 𝑉⃗
𝐴 = 𝑅𝑜𝑡 𝐷
𝐴 𝑉𝐷⃗ Ecuación 6
donde 𝐴𝑅𝑜𝑡𝐷 representa la matriz de rotación que transforma del sistema D al sistema A. Esta matriz es hallada mediante el método de ángulos de Euler de roll-pitch-yaw (ver Anexos sección 15.1). Cabe aclarar que existen otros métodos para realizar la rotación de sistemas coordenados, y el lector es libre de elegir cualquiera.
5.2. Análisis de posición plataforma 6-SPS
Para el análisis de posición de la plataforma 6-SPS se plantea la cadena cinemática mostrada en la Ilustración 10. El vector 𝐴𝑃⃗⃗⃗⃗⃗ se forma uniendo el origen del sistema de coordenadas global con el punto de interés, que en este caso es el centro de la plataforma móvil y se indica con la letra P. El vector 𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖 une el punto P con el punto donde va cada unión esférica sobre la plataforma móvil (punto 𝐶𝑖). El vector 𝐵⃗⃗⃗⃗⃗⃗⃗ 𝑖𝐶𝑖 une el origen de los sistemas de coordenadas 𝐵𝑖 con los puntos 𝐶𝑖. Finalmente, se completa la cadena con el vector 𝑈⃗⃗⃗ 𝑖 , el cual une el origen del sistema de coordenadas global con el sistema de coordenadas 𝐵𝑖. A continuación se plantea la ecuación de este lazo.
𝐴𝑃
⃗⃗⃗⃗⃗ + 𝑃𝐶⃗⃗⃗⃗⃗⃗ = 𝑈𝑖 ⃗⃗⃗ + 𝐵𝑖 ⃗⃗⃗⃗⃗⃗⃗ 𝑖𝐶𝑖 Ecuación 7
De esta ecuación se despeja el vector 𝐵⃗⃗⃗⃗⃗⃗⃗ 𝑖𝐶𝑖
𝐵⃗⃗⃗⃗⃗⃗⃗ = 𝐴𝑃𝑖𝐶𝑖 ⃗⃗⃗⃗⃗ + 𝑃𝐶⃗⃗⃗⃗⃗⃗ − 𝑈𝑖 ⃗⃗⃗ 𝑖 Ecuación 8
De esta ecuación se conocen todos los parámetros del lado derecho. Sin embargo, el vector 𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖 se conoce en términos del sistema de coordenadas de la plataforma móvil (Sistema D), y para que se cumpla la ecuación se deben expresar todos los vectores en términos del sistema de coordenadas global. Para pasar dicho vector al sistema de coordenadas A se utiliza la Ecuación 6 y se obtiene la siguiente expresión
𝑃𝐶𝑖
⃗⃗⃗⃗⃗⃗ = 𝑅𝑜𝑡𝐴 𝐷 𝑃𝐶𝐷⃗⃗⃗⃗⃗⃗ 𝑖 Ecuación 9
Combinando la Ecuación 8 y la Ecuación 9, y sacando la norma a ambos lados [2], se obtiene la distancia entre los puntos 𝐵𝑖 y 𝐶𝑖 se obtiene finalmente la ecuación
𝑙 = | 𝐵⃗⃗⃗⃗⃗⃗⃗⃗ | = |𝐴𝑃𝑖𝐶𝑖 ⃗⃗⃗⃗⃗ + 𝑅𝑜𝑡𝐴 𝐷 𝑃𝐶𝐷⃗⃗⃗⃗⃗⃗ 𝑖− 𝑈⃗⃗⃗ | 𝑖 Ecuación 10
Esta ecuación representa el análisis de posición de una plataforma Stewart tradicional (6-SPS), ya que la norma del vector 𝐵⃗⃗⃗⃗⃗⃗⃗⃗ 𝑖𝐶𝑖 corresponde a la longitud de los actuadores lineales (prismáticos) que se requieren para obtener la posición y la orientación deseada.
16
Ilustración 10. Planteamiento cadenas cinemáticas para el análisis de posición de la plataforma 6-SPS.
5.3. Análisis de posición plataforma 6-RSS
Para el análisis de posición de la plataforma 6-RSS se plantean 3 cadenas cinemáticas mostradas en la Ilustración 11 [3].
Ilustración 11. Planteamiento cadenas cinemáticas para el análisis de posición de la plataforma 6-RSS Para empezar se definen los vectores 𝐻⃗⃗⃗⃗ 𝑖, 𝑈⃗⃗⃗ 𝑖 y 𝑊⃗⃗⃗⃗ 𝑖 en términos de sus componentes 𝐻𝑖
⃗⃗⃗⃗ = [𝐻𝑖𝑥 𝐻𝑖𝑦 𝐻𝑖𝑧 ]𝑇 𝑈⃗⃗⃗ = [𝑈𝑖 𝑖𝑥 𝑈𝑖𝑦 𝑈𝑖𝑧 ]𝑇 𝑊⃗⃗⃗⃗ = [𝑊𝑖 𝑖𝑥 𝑊𝑖𝑦 𝑊𝑖𝑧 ]𝑇 Al observar la cadena cinemática de la izquierda (Ilustración 11), se puede sacar la siguiente expresión
𝐾𝑖
⃗⃗⃗ = 𝑊⃗⃗⃗⃗ 𝑖 −𝑈⃗⃗⃗ 𝑖
Ecuación 11
Sacando la norma a ambos lados y elevando al cuadrado se obtiene que 𝑏12= |𝐾⃗⃗⃗⃗ |𝑖
2
= |𝑊⃗⃗⃗⃗⃗ −𝑖 𝑈⃗⃗⃗⃗ |𝑖
2
= (𝑊𝑖𝑥−𝑈𝑖𝑥)2+ (𝑊𝑖𝑦−𝑈𝑖𝑦)
2
17
Se repite el proceso con las dos cadenas cinemáticas restantes y se obtienen las siguientes expresiones
𝑙2 = |𝐵⃗⃗⃗⃗⃗⃗⃗⃗⃗ |𝑖𝐶𝑖
2
= |𝐻⃗⃗⃗⃗ −𝑖 𝑈⃗⃗⃗⃗ |𝑖
2
= (𝐻𝑖𝑥−𝑈𝑖𝑥)2+ (𝐻𝑖𝑦−𝑈𝑖𝑦)
2
+ (𝐻𝑖𝑧−𝑈𝑖𝑧)2 Ecuación 13
𝑏22= |⃗⃗⃗ |𝑆𝑖
2
= |⃗⃗⃗⃗ −𝐻𝑖 𝑊⃗⃗⃗⃗⃗ |𝑖 2= (𝑊𝑖𝑥−𝑈𝑖𝑥)2+ (𝑊
𝑖𝑦−𝑈𝑖𝑦)
2
+ (𝑊𝑖𝑧−𝑈𝑖𝑧)2 Ecuación 14
Expandiendo la Ecuación 12 se obtiene la siguiente expresión
𝑏12= 𝑊𝑖𝑥2 − 2𝑊𝑖𝑥𝑈𝑖𝑥+ 𝑈𝑖𝑥2 + 𝑊𝑖𝑦2 − 2𝑊𝑖𝑦𝑈𝑖𝑦+ 𝑈𝑖𝑦2 + 𝑊𝑖𝑧2− 2𝑊𝑖𝑧𝑈𝑖𝑧+ 𝑈𝑖𝑧2 Ecuación 15
Organizando los términos se obtiene la siguiente expresión 𝑊𝑖𝑥2+ 𝑊𝑖𝑦2 + 𝑊𝑖𝑧2 = 𝑏12− (𝑈
𝑖𝑥2 + 𝑈𝑖𝑦2+𝑈𝑖𝑧2) + 2(𝑊𝑖𝑥𝑈𝑖𝑥+ 𝑊𝑖𝑦𝑈𝑖𝑦+ 𝑊𝑖𝑧𝑈𝑖𝑧) Ecuación 16 Se expande la Ecuación 13 de la misma manera y se organizan los términos
𝐻𝑖𝑥2 +𝐻𝑖𝑦2 +𝐻2𝑖𝑧 = 𝑙2− (𝑈𝑖𝑥2 +𝑈𝑖𝑦2 +𝑈𝑖𝑧2) + 2(𝐻𝑖𝑥𝑈𝑖𝑥+𝐻𝑖𝑦𝑈𝑖𝑦+𝐻𝑖𝑧𝑈𝑖𝑧) Ecuación 17
También se expande la Ecuación 14 y se organizan los términos
𝑏22 = 𝐻𝑖𝑥2 + 𝐻𝑖𝑦2 + 𝐻𝑖𝑧2 + (𝑊𝑖𝑥2+ 𝑊𝑖𝑦2 + 𝑊𝑖𝑧2) − 2(𝐻𝑖𝑥𝑊𝑖𝑥+ 𝐻𝑖𝑦𝑊𝑖𝑦+ 𝐻𝑖𝑧𝑊𝑖𝑧) Ecuación 18
Reemplazando la Ecuación 16 y la Ecuación 18 en la Ecuación 17 se obtiene la siguiente expresión
𝑏22 = 𝑙2− (𝑈2𝑖𝑥+𝑈𝑖𝑦2 +𝑈𝑖𝑧2) + 2(𝐻𝑖𝑥𝑈𝑖𝑥+𝐻𝑖𝑦𝑈𝑖𝑦+𝐻𝑖𝑧𝑈𝑖𝑧) + 𝑏12 − (𝑈𝑖𝑥2 + 𝑈𝑖𝑦2+𝑈𝑖𝑧2) + 2(𝑊𝑖𝑥𝑈𝑖𝑥+ 𝑊𝑖𝑦𝑈𝑖𝑦+ 𝑊𝑖𝑧𝑈𝑖𝑧) − 2(𝐻𝑖𝑥𝑊𝑖𝑥+ 𝐻𝑖𝑦𝑊𝑖𝑦+ 𝐻𝑖𝑧𝑊𝑖𝑧)
Ecuación 19
Reorganizando los términos se obtiene 𝑙2− (𝑏
2 2− 𝑏
12) = 2(𝑈𝑖𝑥2 +𝑈𝑖𝑦2 +𝑈𝑖𝑧2) − 2(𝐻𝑖𝑥𝑈𝑖𝑥+𝐻𝑖𝑦𝑈𝑖𝑦+𝐻𝑖𝑧𝑈𝑖𝑧)
+ 2𝑊𝑖𝑥(𝐻𝑖𝑥− 𝑈𝑖𝑥) + 2𝑊𝑖𝑦(𝐻𝑖𝑦− 𝑈𝑖𝑦) + 2𝑊𝑖𝑧(𝐻𝑖𝑧− 𝑈𝑖𝑧)
Ecuación 20
Para continuar se debe expresar el vector 𝑊⃗⃗⃗⃗ 𝑖 en términos del ángulo 𝛽𝑖. Para esto primero se descompone el vector 𝐾⃗⃗⃗ 𝑖 en terminos de 𝛽𝑖 (recordar cómo se definen los sistemas de referencia 𝐵𝑖). Cabe aclarar que en este paso se define el sentido de 𝛽𝑖, ya que se obtiene una componente en 𝑍0 positiva en el sistema 𝐵𝑖 cuando el ángulo 𝛽𝑖 es positivo.
𝐾𝑖 ⃗⃗⃗ 𝐵𝑖 = [b
1cos(𝛽𝑖) 0 b1sin(𝛽𝑖)]𝑇 Ecuación 21 El vector 𝑊⃗⃗⃗⃗ 𝑖 se puede obtener encontrando el punto de la punta del vector 𝐾⃗⃗⃗ 𝑖 en términos del sistema de coordenadas A. Para esto se utiliza la siguiente ecuación
𝑊𝑖 ⃗⃗⃗⃗
𝐴 = 𝑅𝑜𝑡
𝐵𝑖
𝐴 𝐾
𝑖 ⃗⃗⃗ + 𝑈⃗⃗⃗ 𝑖 𝐵𝑖
18 𝑊𝑖
⃗⃗⃗⃗
𝐴 = [cos (𝜓)sin (𝜓) −sin (𝜓)cos (𝜓) 00
0 0 1
] [
b1cos(𝛽𝑖) 0 b1sin(𝛽𝑖)
]+[ 𝑈𝑖𝑥 𝑈𝑖𝑦 𝑈𝑖𝑧 ]
Ecuación 23
Despejando:
𝑊𝑖 ⃗⃗⃗⃗ = [
𝑊𝑖𝑥 𝑊𝑖𝑦 𝑊𝑖𝑧 ]
𝐴 = [
𝑏1cos(𝛽𝑖) cos(𝜓) + 𝑈𝑖𝑥 𝑏1cos(𝛽𝑖) sin (𝜓) + 𝑈𝑖𝑦
b1sin (𝛽𝑖) + 𝑈𝑖𝑧
] Ecuación 24
Reemplazando la Ecuación 24 en la Ecuación 20 se obtiene la siguiente expresión 𝑙2− (𝑏22− 𝑏12) = 2(𝑈𝑖𝑥2 +𝑈𝑖𝑦2 +𝑈𝑖𝑧2) − 2(𝐻𝑖𝑥𝑈𝑖𝑥+𝐻𝑖𝑦𝑈𝑖𝑦+𝐻𝑖𝑧𝑈𝑖𝑧)
+ 2(𝑏1cos(𝛽𝑖)cos(𝜓)+ 𝑈
𝑖𝑥)(𝐻𝑖𝑥− 𝑈𝑖𝑥)
+ 2(𝑏1cos(𝛽𝑖)sin (𝜓) + 𝑈𝑖𝑦)(𝐻𝑖𝑦− 𝑈𝑖𝑦) + 2(b1sin (𝛽𝑖) + 𝑈𝑖𝑧)(𝐻𝑖𝑧− 𝑈𝑖𝑧)
Ecuación 25
Expandiendo y reorganizando la ecuación se obtiene 𝑙2− (𝑏
22− 𝑏12) = 2(𝑈𝑖𝑥2 +𝑈𝑖𝑦2 +𝑈2𝑖𝑧) − 2(𝐻𝑖𝑥𝑈𝑖𝑥+𝐻𝑖𝑦𝑈𝑖𝑦+𝐻𝑖𝑧𝑈𝑖𝑧)
+ 2𝑏1cos(𝛽𝑖)cos(𝜓) (𝐻𝑖𝑥− 𝑈𝑖𝑥) + 2𝑈𝑖𝑥𝐻𝑖𝑥− 2𝑈𝑖𝑥2 + 2𝑏1cos(𝛽𝑖)sin (𝜓)(𝐻𝑖𝑦− 𝑈𝑖𝑦) + 2𝑈𝑖𝑦𝐻𝑖𝑦− 2𝑈𝑖𝑥2 + 2b1sin (𝛽𝑖)(𝐻𝑖𝑧− 𝑈𝑖𝑧) + 2𝑈𝑖𝑧𝐻𝑖𝑦− 2𝑈𝑖𝑧2
Ecuación 26
Cancelando términos se obtiene
𝑙2− (𝑏22− 𝑏12) = 2𝑏1cos(𝛽𝑖)cos(𝜓) (𝐻𝑖𝑥 − 𝑈𝑖𝑥)
+ 2𝑏1cos(𝛽𝑖)sin (𝜓)(𝐻𝑖𝑦− 𝑈𝑖𝑦) + 2b1sin (𝛽𝑖)(𝐻𝑖𝑧− 𝑈𝑖𝑧) Ecuación 27
Factorizando se obtiene
𝑙2− (𝑏22− 𝑏12) = 2𝑏1cos(𝛽𝑖) ((cos(𝜓) (𝐻𝑖𝑥− 𝑈𝑖𝑥) +sin(𝜓) (𝐻𝑖𝑦− 𝑈𝑖𝑦)) + 2b1sin (𝛽𝑖)(𝐻𝑖𝑧− 𝑈𝑖𝑧)
Ecuación 28
La ecuación se puede escribir de la siguiente manera
𝐿𝑖 = 𝑀𝑖𝑠𝑖𝑛(𝛽𝑖) + 𝑁𝑖𝑐𝑜𝑠(𝛽𝑖) Ecuación 29
Donde:
𝐿𝑖 = 𝑙2− |𝑆𝑖⃗⃗⃗ |2+ |𝐾⃗⃗⃗ |𝑖 2
Ecuación 30 𝑀𝑖 = 2𝑏1(𝐻𝑖𝑧− 𝑈𝑖𝑧) Ecuación 31
19
𝑁𝑖 = 2𝑏1((cos(𝜓) (𝐻𝑖𝑥− 𝑈𝑖𝑥) +sin(𝜓) (𝐻𝑖𝑦− 𝑈𝑖𝑦)) Ecuación 32
Nota: Recordar que el valor de 𝑙 se conoce debido al análisis realizado en la sección 5.2 Mediante una suma de las dos funciones trigonométricas obtenidas, por medio de su representación fasorial, se puede obtener la siguiente expresión
L = √𝑀𝑖+ 𝑁𝑖 sin(𝛽𝑖+ 𝛿) Ecuación 33
Donde:
𝛿 = tan−1𝑁
𝑀 Ecuación 34
Despejando 𝛽𝑖 se obtiene la expresión final del análisis de posición
𝛽𝑖 = sin−1( 𝐿𝑖 √𝑀𝑖2+ 𝑁𝑖2
) − tan−1(𝑁𝑖 𝑀𝑖
) Ecuación 35
Aplicando la Ecuación 35 seis veces, una para cada miembro de la plataforma, se obtienen los ángulos de todos los actuadores.
20
6.
Análisis de velocidad
En general, la ecuación de la cadena cinemática de un mecanismo en paralelo puede ser expresada de la siguiente manera [2]
𝑓(𝑋, 𝑞) = 0
Ecuación 36
Donde:
𝑋 =
[ 𝑥 𝑦 𝑧 𝜃𝑥 𝜃𝑦 𝜃𝑧]
y 𝑞 =
[ 𝛽1 𝛽2 𝛽3 𝛽4 𝛽5 𝛽6]
En otras palabras, X es el vector que contiene la posición y la orientación de la plataforma, y q es el vector que contiene los ángulos de los actuadores.
La velocidad de un robot paralelo, como es el caso de la plataforma Stewart, puede ser analizada por medio de la siguiente ecuación [2]
𝐽𝑥𝑋̇ = 𝐽𝑞𝑞̇ Ecuación 37
Donde 𝐽𝑞 y 𝐽𝑥 son matrices Jacobianas de 6x6 que se definen a continuación 𝐽𝑥 = 𝜕𝑓
𝜕𝑥 y 𝐽𝑞 = − 𝜕𝑓 𝜕𝑞
Para hallar las matrices Jacobianas se utiliza la cadena cinemática representada en la Ilustración 12. Esta cadena cinemática incluye todos los vectores relevantes en el análisis de posición.
Derivando con respecto al tiempo la ecuación de la cadena cinemática se puede obtener la siguiente expresión
𝑉𝑝
⃗⃗⃗ + 𝜔⃗⃗⃗⃗⃗ × 𝑃𝐶𝑝 ⃗⃗⃗⃗⃗⃗ = 𝜔𝑖 ⃗⃗⃗⃗⃗⃗ × 𝐾𝐾𝑖 ⃗⃗⃗ + 𝜔𝑖 ⃗⃗⃗⃗⃗⃗ × 𝑆𝑆𝑖 ⃗⃗⃗ 𝑖 Ecuación 38
Donde 𝑉⃗⃗⃗ 𝑝 y 𝜔⃗⃗⃗⃗⃗ 𝑝 son vectores de 3x1 que contienen las velocidades lineales y angulares, respectivamente, del punto P en cada uno de los ejes en el sistema de coordenadas global A. 𝜔⃗⃗⃗⃗⃗ 𝑝 es un vector 3x1 que contiene las velocidades angulares del punto P en cada uno de los ejes. Por otro lado 𝜔⃗⃗⃗⃗⃗⃗ 𝐾𝑖 representa el vector de velocidades angulares del
21
vector 𝐾⃗⃗⃗ 𝑖, es decir de la barra 1; y 𝜔⃗⃗⃗⃗⃗⃗ 𝐾𝑖 representa el vector de velocidades angulares del vector 𝑆⃗⃗⃗ 𝑖, es decir de la barra 2.
Ilustración 12. Cadena cinemática para análisis de velocidad
Ya que 𝜔𝑆𝑖 no es de interés para el análisis, se puede eliminar de la Ecuación 38 multiplicando toda la ecuación por el vector 𝑆⃗⃗⃗ 𝑖 (producto punto). De modo que
𝑉𝑝
⃗⃗⃗ ∙ 𝑆⃗⃗⃗ + (𝜔𝑖 ⃗⃗⃗⃗⃗ × 𝑃𝐶𝑝 ⃗⃗⃗⃗⃗⃗ ) ∙ 𝑆𝑖 ⃗⃗⃗ = (𝑖 𝜔⃗⃗⃗⃗⃗⃗⃗ × 𝐾𝐾𝑖 ⃗⃗⃗ ) ∙ 𝑆𝑖 ⃗⃗⃗ + (𝑖 𝜔⃗⃗⃗⃗⃗⃗ × 𝑆𝑆𝑖 ⃗⃗⃗ ) ∙ 𝑆𝑖 ⃗⃗⃗ 𝑖 Ecuación 39
Debido a que se está haciendo un producto punto entre dos vectores ortogonales, el siguiente término se cancela
(𝜔⃗⃗⃗⃗⃗⃗ × 𝑆𝑆𝑖 ⃗⃗⃗ ) ∙ 𝑆𝑖 ⃗⃗⃗ = 0 𝑖 Ecuación 40
La Ecuación 39 se reduce a 𝑉𝑝
⃗⃗⃗ ∙ 𝑆⃗⃗⃗ + (𝜔𝑖 ⃗⃗⃗⃗⃗ × 𝑃𝐶𝑝 ⃗⃗⃗⃗⃗⃗ ) ∙ 𝑆𝑖 ⃗⃗⃗ = (𝑖 𝜔⃗⃗⃗⃗⃗⃗⃗ × 𝐾𝐾𝑖 ⃗⃗⃗ ) ∙ 𝑆𝑖 ⃗⃗⃗ 𝑖 Ecuación 41
Utilizando la propiedad
(𝐴 × 𝐵) ∙ 𝐶 = 𝐴 ∙ (𝐵 × 𝐶) Ecuación 42
La ecuación se convierte en 𝑉𝑝
⃗⃗⃗ ∙ 𝑆⃗⃗⃗ + 𝜔𝑖 ⃗⃗⃗⃗⃗ ∙ (𝑃𝐶𝑝 ⃗⃗⃗⃗⃗⃗ × 𝑆𝑖 ⃗⃗⃗ ) =𝑖 𝜔⃗⃗⃗⃗⃗⃗⃗ ∙ (𝐾𝐾𝑖 ⃗⃗⃗ × 𝑆𝑖 ⃗⃗⃗ ) 𝑖 Ecuación 43
Se sabe que la barra 1, expresada como 𝐾⃗⃗⃗ 𝑖, gira alrededor de los ejes 𝑌𝑖 de los sistemas coordenados 𝐵𝑖 como se explicó anteriormente. Por esta razón, la velocidad angular de los actuadores 𝛽𝑖̇ también estará en estos mismos ejes, y se tendrá que hacer la transformación al sistema de coordenadas global 𝐴 como se muestra a continuación
𝜔⃗⃗⃗⃗⃗⃗ = [𝐾𝑖
cos (𝜓) −sin (𝜓) 0 sin (𝜓) cos (𝜓) 0
0 0 1
] [ 0
𝛽𝑖̇
0 ] = [
−𝛽𝑖̇ sin(𝜓)
𝛽𝑖̇ cos(𝜓)
0
22 Teniendo en cuenta la siguiente notación 𝑉𝑝
⃗⃗⃗ = [𝑉𝑥 𝑉𝑦 𝑉𝑧]𝑇 𝐾⃗⃗⃗ = [𝐾𝑖 𝑖𝑥 𝐾𝑖𝑦 𝐾𝑖𝑧 ]𝑇 𝑆⃗⃗⃗ = [𝑆𝑖 𝑖𝑥 𝑆𝑖𝑦 𝑆𝑖𝑧 ]𝑇
𝜔𝑝
⃗⃗⃗⃗⃗ = [𝜔𝑝𝑥 𝜔𝑝𝑦 𝜔𝑝𝑧 ]𝑇 𝜔⃗⃗⃗⃗⃗⃗ = [𝜔𝑆𝑖 𝑆𝑖𝑥 𝜔𝑆𝑖𝑦 𝜔𝑆𝑖𝑧 ]𝑇 𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖 =[𝑃𝐶𝑖 𝑥 𝑃𝐶𝑖 𝑦 𝑃𝐶𝑖 𝑧]
𝑇 Se expanden los términos de la Ecuación 43 mediante los componentes de los vectores y se obtiene la siguiente expresión
(𝑉𝑥𝑆𝑖𝑥+ 𝑉𝑦𝑆𝑖𝑦+ 𝑉𝑧𝑆𝑖𝑧) +𝜔𝑝𝑥(𝑆𝑖𝑧𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑦−𝑆𝑖𝑦⃗⃗⃗⃗⃗⃗ 𝑃𝐶𝑖𝑧) +𝜔𝑝𝑦(𝑆𝑖𝑥⃗⃗⃗⃗⃗⃗ 𝑃𝐶𝑖𝑧−𝑆𝑖𝑧𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑥)
+𝜔𝑝𝑧(𝑆𝑖𝑦𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑥−𝑆𝑖𝑥𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑦)
= −𝛽𝑖̇ sin(𝜓) (𝐾𝑖𝑦𝑆𝑖𝑧− 𝐾𝑖𝑧𝑆𝑖𝑦) + 𝛽𝑖̇ cos (𝜓)(𝐾𝑖𝑧𝑆𝑖𝑥−𝐾𝑖𝑥𝑆𝑖𝑧)
Ecuación 45
Esta ecuación se puede escribir en forma matricial por medio de la Ecuación 37 como se muestra a continuación
𝑞𝑖4= (𝑆𝑖𝑧𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑦−𝑆𝑖𝑦𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑧) Ecuación 46
𝑞𝑖5= (𝑆𝑖𝑥𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑧−𝑆𝑖𝑧𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑥) Ecuación 47
𝑞𝑖6= (𝑆𝑖𝑦𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑥−𝑆𝑖𝑥𝑃𝐶⃗⃗⃗⃗⃗⃗ 𝑖𝑦) Ecuación 48
𝑎𝑖𝑖 = − sin(𝜓) (𝐾𝑖𝑦𝑆𝑖𝑧− 𝐾𝑖𝑧𝑆𝑖𝑦) + cos (𝜓)(𝐾𝑖𝑧𝑆𝑖𝑥−𝐾𝑖𝑥𝑆𝑖𝑧) Ecuación 49
La velocidad angular de los actuadores se puede encontrar despejando la Ecuación 37
23
Donde J se conoce como la matriz Jacobiana del sistema y se calcula como
𝐽 = 𝐽𝑞−1𝐽𝑥 Ecuación 51
Cabe aclarar que el vector 𝑋̇ está compuesto por 3 velocidades lineales y 3 velocidades angulares, donde todas las velocidades están expresadas en el sistema de coordenadas global A. Sin embargo, a la hora de manipular la trayectoria de la plataforma, el operario va a tener el poder de manipular la posición de los ángulos roll, pitch y yaw en el tiempo, y por ende de manera indirecta va a poder manipular las velocidades de estos ángulos. Por eso es necesario realizar una transformación de las velocidades angulares, de modo que se obtengan los valores que se deben ingresar en la Ecuación 59. Esto se puede realizar mediante la Ecuación 52 [4]
𝜔𝑝 ⃗⃗⃗⃗⃗ =
[
1 sin(𝑟𝑜𝑙𝑙) tan(𝑝𝑖𝑡𝑐ℎ) cos(𝑟𝑜𝑙𝑙) tan(𝑝𝑖𝑡𝑐ℎ)
0 cos(𝑟𝑜𝑙𝑙) − sin(𝑟𝑜𝑙𝑙)
0 sin(𝑟𝑜𝑙𝑙) cos(𝑝𝑖𝑡𝑐ℎ)
cos(𝑟𝑜𝑙𝑙) cos(𝑝𝑖𝑡𝑐ℎ) ]
−1
[ 𝑑 𝑑𝑡𝑟𝑜𝑙𝑙 𝑑 𝑑𝑡𝑝𝑖𝑡𝑐ℎ
𝑑 𝑑𝑡𝑦𝑎𝑤 ]
24
7.
Análisis de Fuerzas
Para realizar el análisis de fuerzas de la plataforma se utiliza el concepto de trabajo virtual [2]. Se desprecia la fricción en las uniones y los efectos gravitacionales. De esta manera las fuerzas de reacción en las uniones pasivas no contribuyen trabajo virtual. Para hallar la expresión que permita realizar el cálculo, se hará uso del cálculo variacional. El símbolo 𝛿 representará el operador variacional.
Para empezar se definen los siguientes dos vectores
𝐹̂ =
[ 𝐹𝑥 𝐹𝑦 𝐹𝑧 𝑀𝑥 𝑀𝑦 𝑀𝑧]
𝜏̂ =
[ 𝜏1 𝜏2 𝜏3 𝜏4 𝜏5 𝜏6]
Donde el vector 𝐹̂ contiene las fuerzas y los momentos puntuales realizados en cada eje sobre el punto P de la plataforma móvil. El vector 𝜏̂ contiene los torques realizados por los actuadores para aguantar las fuerzas y los momentos requeridos.
También se definen dos vectores de desplazamientos virtuales
𝛿𝑞 =
[ 𝛿𝑞1 𝛿𝑞2 𝛿𝑞3 𝛿𝑞4 𝛿𝑞5 𝛿𝑞6]
𝛿𝑋 =
[ 𝛿𝑋0 𝛿𝑌0 𝛿𝑍0 𝛿𝑟𝑜𝑙𝑙 𝛿𝑝𝑖𝑡𝑐ℎ
𝛿𝑦𝑎𝑤 ]
Donde el vector 𝛿𝑞 contiene los desplazamientos virtuales asociados a los actuadores, y el vector 𝛿𝑋 contiene los desplazamientos virtuales asociados con el punto de interés P. Por conservación de energía se sabe que
𝜏̂𝑇𝛿𝑞 − 𝐹̂𝑇𝛿𝑋 = 0 Ecuación 53
Los dos vectores de desplazamientos virtuales se pueden relacionar por medio de la matriz Jacobiana definida en la sección 6 de la siguiente manera
𝛿𝑞 = 𝐽 𝛿𝑋 Ecuación 54
Reemplazando la Ecuación 54 en la Ecuación 53, se obtiene
𝜏̂𝑇𝐽 𝛿𝑋 − 𝐹̂𝑇𝛿𝑋 = 0 Ecuación 55
Factorizando 𝛿𝑋
(𝜏̂𝑇𝐽 − 𝐹̂𝑇)𝛿𝑋 = 0 Ecuación 56
Despejando 𝐹̂𝑇
25 Tomando la transpuesta a ambos lados se obtiene
𝐹̂ = 𝐽𝑇𝜏̂ Ecuación 58
La ecuación 21 permite obtener las fuerzas y los momentos que la plataforma puede soportar en cierta posición y orientación, mediante un vector 𝜏̂ requerido. Se puede despejar 𝜏̂ , como se muestra en la Ecuación 59, para saber si los actuadores de la plataforma son capaces de soportar ciertas fuerzas y ciertos momentos. Si el vector 𝜏̂ encontrado es menor que los torques máximos que permiten los actuadores seleccionados, significa que la plataforma puede soportar dicha carga.
𝜏̂= 𝐽2𝑇∗ 𝐹̂ Ecuación 59
Donde la matriz 𝐽2 se calcula mediante la siguiente expresión
26
8.
Singularidades
Las singularidades se pueden encontrar en todos los mecanismos. Como ejemplo, en mecanismos de cuatro barras existen singularidades cuando el mecanismo alcanza un punto de inversión geométrica. Esto ocurre cuando algunas de las barras del mecanismo se alinean. En mecanismos más complejos, como es el caso de robots paralelos, no es tan fácil de notar cuando ocurre una singularidad.
Matemáticamente una singularidad ocurre en un mecanismo cuando en una posición específica el determinante de su matriz Jacobiana es 0. Ya que los robots paralelos tienen dos matrices Jacobianas, existen dos tipos de singularidades [2] que se definirán en las secciones 8.1 y 8.2.
8.1. Definición singularidades de cinemática inversa
Una singularidad de cinemática inversa ocurre matemáticamente cuando
det(𝐽𝑞) = 0 Ecuación 61
Esto hace que no se pueda hallar el vector 𝑞̇ que contiene las velocidades de los actuadores, ni tampoco el vector 𝐹̂ mediante la Ecuación 58, debido a que la matriz 𝐽𝑞 deja de ser invertible. Esto se debe a que este tipo de singularidades hacen que la plataforma pierda uno o más grados de libertad. Físicamente esto implica que la plataforma puede resistir fuerzas o momentos en direcciones específicas (los cuales matemáticamente pueden tender a infinito) sin que los actuadores proporcionen al sistema momento par.
Una singularidad de cinemática inversa fácil de notar ocurre cuando la plataforma no está energizada y se le coloca una carga alta. La plataforma llegará a un punto de equilibrio donde esta es capaz de soportar la carga. A pesar de que la carga se aumente, la plataforma podrá seguir soportándola en esta posición hasta que los componentes no aguanten los esfuerzos y se rompan.
8.2. Definición singularidades de cinemática directa
Una singularidad de cinemática directa ocurre matemáticamente cuando
det(𝐽𝑥) = 0 Ecuación 62
Esto hace que no se pueda hallar el vector 𝑋̇ que contiene las velocidades asociadas al punto de interés P, ni tampoco el vector 𝜏̂ mediante la Ecuación 59, debido a que la matriz 𝐽𝑞 deja de ser invertible. Esto hace que la plataforma gane uno o más grados de libertad. Físicamente esto significa que puede existir movimiento de la plataforma mientras que los actuadores están bloqueados. En otras palabras, puede existir un estado de la plataforma tal que 𝑋̇ ≠ 0 y 𝑞̇ = 0. También puede ocurrir que, debido a fuerzas o momentos en ciertas direcciones específicas, el torque que realizan los actuadores tienda a infinito. Por esta razón la plataforma no será capaz de mantener la posición en la que ocurra esto.
27
8.3. Método implementado para hallar singularidades
Ya que la Ecuación 61 y la Ecuación 62 son altamente no lineales, resulta extremadamente difícil resolverlas analíticamente. Adicionalmente, debido a que las ecuaciones tienen múltiples soluciones, y el número de soluciones se desconoce, resolverlas numéricamente tampoco resulta una buena opción. Por eso se decidió utilizar un método de discretización, en el cual se hace un barrido dentro del espacio de trabajo y se determina si la plataforma se encuentra cerca de una singularidad o no. El algoritmo del barrido se explicará con mayor detalle en la sección 9.
En este trabajo únicamente se desean detectar las singularidades de cinemática directa, ya que son estas las que se quieren evitar a toda costa. Las singularidades de cinemática inversa, como es el caso del ejemplo presentado en la sección 8.1, en este trabajo no se desean evitar.
Ya que se hace un barrido discreto dentro del espacio de trabajo, resulta prácticamente imposible caer en un punto donde se cumpla la Ecuación 62. Se podrán alcanzar valores muy cercanos a cero del determinante de 𝐽𝑥, pero no se podrán obtener valores de cero exactos. Por este motivo, en este método de discretización, se consideran como puntos de singularidad todos aquellos puntos donde el determinante de 𝐽𝑥 este muy cercano a cero. Pero, ¿A partir de qué valor se puede considerar el valor del determinante cercano a 0? Es decir, ¿A partir de qué valor se considera un punto una singularidad? Para responder estas preguntas, y crear un algoritmo que permita determinar si un punto pertenece a una singularidad o no, se utiliza el significado físico de las singularidades de cinemática directa.
Como se explicó en la sección 8.2, cuando la plataforma está en un punto de singularidad de cinemática directa, el torque de algunos de los actuadores tiende a infinito. Es decir que cuando la plataforma está cerca de estos puntos, el torque de los actuadores va a ser muy grande. La metodología empleada, tomada de las referencias [5] y [6], consiste en probar dos condiciones en el punto. Dichas condiciones serán explicadas a continuación.
Condición 1
Se elige un vector 𝐹̂ unitario con momentos en los tres ejes iguales a cero, como el que se muestra a continuación
𝐹̂ = [1 √3
1 √3
1
√3 0 0 0] 𝑇
Posteriormente se calcula el vector de torques 𝜏̂ mediante la Ecuación 59 y se prueba la siguiente condición
1 𝜏̂𝑇𝜏̂< 𝛿
28 Condición 2
Se elige un vector 𝐹̂ unitario con fuerzas en los tres ejes iguales a cero, como el que se muestra a continuación
𝐹̂ = [0 0 0 1 √3
1 √3
1 √3 ]
𝑇
Posteriormente se calcula el vector de torques 𝜏̂ mediante la Ecuación 59 y se prueba nuevamente la condición expresada en la Ecuación 63
Si alguna de las dos condiciones se cumple, se considera que el punto es un punto de singularidad.
Ya que se quiere que el método tenga un significado físico, se espera que el valor de 𝛿 sea un valor representativo de los actuadores. Por eso se define un vector de torques 𝜏̂ como el que se ve a continuación [5]
𝜏̂ = [1000 1000 1000 1000 1000 1000]𝑇 𝑁𝑚𝑚
Posteriormente se realiza la siguiente operación 1
𝜏̂𝑇𝜏̂= 1.666𝑥10
−7 ≈ 2𝑥10−7= 𝛿
De esta manera se define el valor de 𝛿. Se elige el valor de 1000 Nmm debido a que este es un valor común para el tipo de servomotor que se va a elegir como actuadores de la plataforma. También es el valor que utilizan en la referencia [5]. Cabe aclarar que se utilizan unidades de Nmm porque todas las unidades trabajadas en la cinemática inversa están en milímetros. Si el lector decide trabajar con otras unidades, debe cambiar el valor de 𝛿 acorde con las unidades elegidas.
29
9.
Workspace
y
Taskspace
En la sección 8.3 se explicó que se utilizaba un método de discretización para hallar los puntos de singularidades. Para el caso del espacio de trabajo (o Workspace en inglés), se utiliza el mismo método. El espacio de trabajo se define como el espacio en el que se puede mover la plataforma en una orientación constante, e.g. roll=0, pitch = 0, yaw = 0. Para determinar la frontera del espacio de trabajo se realiza un barrido en el espacio variando las coordenadas 𝑋0, 𝑌0 y 𝑍0 (manteniendo la orientación constante) y se comprueban las siguientes dos condiciones
Condición 1
Se realiza el análisis de posición en cada punto mediante la Ecuación 35 y se verifica la siguiente condición
𝐼𝑚(𝛽𝑖) ≠ 0
Si la solución de los ángulos 𝛽𝑖 tiene componente imaginaria, significa que el punto no hace parte del espacio de trabajo ya que la plataforma no puede llegar a ese punto. Si no tiene componente imaginaria, el pertenece al espacio de trabajo si adicionalmente se cumple la condición 2.
Condición 2
La condición 2 consiste en comprobar si no se han superado los límites físicos que tienen las uniones esféricas. Las uniones esféricas, conocidas comercialmente como rótulas, tienen un ángulo muy restringido, razón por la cual es importante comprobar que el ángulo que se le exija a cada una de las rótulas esté dentro de los límites. En la Ilustración 13 se muestra el límite físico que experimentan las rótulas debido a que el vástago de la rótula choca contra el borde. Esté limite angular será referenciado como 𝛼𝐿𝐼𝑀, y su valor estará determinado por la rótula comercial que se seleccione.
Ilustración 13 Limitación angular de la unión esférica
Sin embargo, en el caso de la plataforma 6-RSS no se puede conocer el ángulo 𝛼′ debido a que las barras 2 tienen un grado de libertad adicional que les permite girar con respecto a su eje unos cuantos grados. Este movimiento no afecta la posición y la orientación de la plataforma, por lo que no se tienen en cuenta al afirmar que la plataforma tiene 6 grados de libertad.
30
Por este motivo se cambia de referencia al medir el ángulo que alcanza la rótula. En vez de medir el ángulo con respecto al eje mostrado en la Ilustración 13, se mide con respecto al eje mostrado en la Ilustración 14. Este nuevo ángulo se llamara 𝛼. A diferencia del caso anterior, este eje si se conoce ya que es el mismo eje donde se encuentra la barra 2 de la plataforma. La Ilustración 14 muestra el máximo valor que 𝛼 puede alcanzar. Por otro lado, la Ilustración 15 muestra el mínimo valor que 𝛼 puede alcanzar. Todos los demás ángulos que puede alcanzar la unión estarán comprendidos entre estos dos ángulos.
Ilustración 14. Límite superior de la unión esférica
Ilustración 15. Límite inferior de la unión esférica El límite superior estará dado por la siguiente expresión
𝛼𝐿𝑆= 90° + 𝛼𝐿𝐼𝑀 Ecuación 64
Por otro lado, el límite inferior estará dado por la siguiente expresión
𝛼𝐿𝐼 = 90° − 𝛼𝐿𝐼𝑀 Ecuación 65
Para comprobar si el punto pertenece al espacio de trabajo, y que se cumpla la condición 2, solo basta con verificar que el ángulo de las 12 uniones esféricas que tiene la plataforma está entre el límite superior y el límite inferior. Si no se cumple esto, significa que la plataforma no podrá alcanzar dicha posición y por ende el punto no pertenece al espacio de trabajo. Dicho ángulo se puede calcular mediante la siguiente ecuación
31 𝛼 = cos−1 𝑆⃗⃗⃗⃗ ∙ 𝑉𝑖′ ⃗⃗⃗ 𝑎
|𝑆⃗⃗⃗ ′| |𝑉𝑖 ⃗⃗⃗ | 𝑎
Ecuación 66
Ilustración 16. Vectores utilizados para calcular 𝛼
Cabe aclarar que las magnitudes elegidas para los dos vectores no importan debido a que se dividen por su norma. El vector 𝑆⃗⃗⃗⃗ 𝑖′ se conoce desde el análisis de posición debido a que 𝑆⃗⃗⃗⃗ = −𝑆𝑖′ ⃗⃗⃗ 𝑖. Por otro lado el vector 𝑉⃗⃗⃗ 𝑎 también se conoce debido a que el vástago de la rótula va ensamblado con la plataforma móvil (en el caso de las 6 uniones superiores) y con las barras 1 (en el caso de las 6 uniones inferiores).
Si la condición 1 y la condición 2 se cumplen, significa que el punto se encuentra dentro del espacio de trabajo. Si no se cumple alguna de las dos, significa que el punto está por fuera del espacio de trabajo. El barrido que se hace en el espacio para comprobar si el punto pertenece al espacio de trabajo y si en el punto se presenta una singularidad, se hace mediante el uso de coordenadas cilíndricas como se muestra a continuación
𝜃0= 𝑎𝑡𝑎𝑛2(𝑌0, 𝑋0) Ecuación 67
𝑟0= √𝑋02+ 𝑌02 Ecuación 68
Mientras que la representación de la coordenada 𝑍0 se mantiene igual. El algoritmo para realizar el barrido, y encontrar tanto el espacio de trabajo como las singularidades, se explica en el diagrama de flujo mostrado en la Ilustración 17.
32
Ilustración 17. Diagrama de flujo del algoritmo para hallar el espacio de trabajo y las singularidades Cabe aclarar que las variables 𝛿𝑟 y 𝛿𝜃 representan el avance que se le da a las variables 𝑟0 y 𝜃0 respectivamente en cada proceso de incremento. También existe un 𝛿𝑧, el cual no aparece en el diagrama de flujo ya que no se hace explicita la operación que se realiza en el paso de variación de 𝑍0. Esto se debe a que el algoritmo inicia con un valor de 𝑍0 cualquiera y las demás coordenadas cilíndricas se inicializan en 0 (el valor de 𝑍0 inicial no importa mientras se encuentre dentro del espacio de trabajo). Por este motivo el algoritmo se tiene que ejecutar dos veces: una vez para que recorra el espacio de trabajo hacia arriba, es decir 𝑍0= 𝑍0+ 𝛿𝑧, y otra para que se recorra el espacio de trabajo hacia abajo, es decir 𝑍0= 𝑍0− 𝛿𝑧. En la Tabla 2 se muestran unos posibles valores que dan buenos resultados.
Tabla 2. Valores definidos de los parámetros de variación
Parámetro Valor
𝜹𝒓 2 mm
𝜹𝜽 (360/70) °