CONTROL PARA UN BRAZO ROBOT COLOCADO SOBRE LA PLATAFORMA
MÓVIL “ÚRSULA”
MARCELA APARICIO GONZÁLEZ
JOHANNA CAROLINA ORJUELA PARRA
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERIA
CARRERA INGENIERIA ELECTRÓNICA
CONTROL PARA UN BRAZO ROBOT COLOCADO SOBRE LA PLATAFORMA
MÓVIL “ÚRSULA”
MARCELA APARICIO GONZALEZ
JOHANNA CAROLINA ORJUELA PARRA
Trabajo de grado presentado como
requisito parcial para optar al título de
Ingeniero Electrónico.
Director:
Carlos Alberto Parra R. Ph.D.
Ingeniero Electrónico.
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE ELECTRÓNICA
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA ELECTRÓNICA
RECTOR MAGNÍFICO: R.P. GERARDO REMOLINA S.J
DECANO ACADÉMICO: Ing. FRANCISCO JAVIER REBOLLEDO
DECANO DEL MEDIO UNIVERSITARIO: R.P. ANTONIO JOSÉ SARMIENTO S.J.
DIRECTOR DE CARRERA: Ing. JUAN CARLOS GIRALDO
“No éramos, ni somos imprescindibles, pero si pusimos entonces y ponemos ahora el esfuerzo de una vida, para el ensanche de la fe, de la ciencia y del amor a los más altos valores del espíritu”.
AGRADECIMIENTOS
Al Señor Don Carlos por acompañarnos a lo largo de este camino ...por sus regaños sutiles ...por ser antes que nuestro director, nuestro amigo...por sus palabras de animo que nunca
nos dejaron desfallecer...por mostrarnos el mundo de una manera diferente...por sus sonrisas sinceras...por unos maravillosos abrazos que algunas veces nos hicieron llorar...Te
vamos a extrañar.
A una gran persona, que nos aguanto...que nos dedicó todo el tiempo sin límites y sin esperar nada a cambio, que siempre nos recibió con su sonrisa de niño...que nuca dudo de nosotras...y sobretodo que nunca nos abandono en los momentos más difíciles ...Al Señor
Freddy
A Camilo, por sus sabios consejos en el tiempo preciso...por su inconfundible sonrisa en momentos de desesperación, por regalarnos un poquito de su conocimiento
A Gabriel Perilla y José I. por escucharnos...por estar siempre pendientes de nosotras y por animarnos a seguir adelante
A Caliche, Leo y Marlon por su paciencia... por su colaboración... y por su amabilidad durante toda nuestra carrera.
A Dios por estar junto a mí siempre sin condiciones ni límites. A mis Padres por ser mi guía, mi apoyo, mi ejemplo, pero por encima de todo por brindarme su amor constantemente. Hoy levanto las manos de triunfo, un triunfo que en gran parte es de ustedes y por ustedes, por un sacrificio que a veces pareció locura y hoy se hace realidad a pesar de todo. Es por eso que todo lo que soy es gracias a ustedes a sus ganas y fortaleza. Miles de gracias nunca serán suficientes para ustedes. A mis hermanitos Andrius y Jaimitur por brindarme esos abrazos fuertes, los besos más sinceros,
las mejores sonrisas, y porque no, por aguantarme. A Andrius por sus ataques de risa, por esos inconfundibles apodos, por sus juegos de aia y por consentirme. A Jaimitur, mi futuro Ingeniero, por sus apuntes locos, por sus sabios regaños, por los mejores abrazos y por confiar en mi.
A la persona que antes que todo siempre ha sido mi amigo, mi consejero, mi apoyo, mi soporte: Mauri. Gracias por tu valiosa compañía en un poco más de la mitad de mi carrera, por ponerle un tono diferente a este camino. Por tu amor fundamental en este reto que hoy tiene fin pero que no es el único, todavía siguen muchos más…. A mis abuelitos maternos que están en el cielo, los cuales siempre me cuidan y a mi abuelita Marta
por sus sabios consejos, su apoyo y esa experiencia que solo tienen mis viejos. Por darme los mejores padres del mundo.
A una amiga incondicional, Julie que a pesar del poco tiempo que pudimos compartir siempre estuvo conmigo, nunca se alejo y me brindo maravillosas sonrisas en el momento indicado con las palabras indicadas. Y como no, a mi gran compañera de trabajo, mi amiga, mi hermana, mi hombro en este lugar, mi sombra y mi luz: a Marce, por emprender este camino loco que nunca nos imaginamos y hoy terminamos. Por una amistad espero nunca se acabe.
A Dios por darme la vida… por rodearme de personas maravillosas, por darme un corazón lleno de sueños y esperanzas…por todas las oportunidades que me brinda.
A mis Padres… por su amor incondicional, por apoyarme en los momentos más difíciles… por pensar en mi bienestar antes que en el de ellos, por estar ahí siempre que los he necesitado…por ser ellos mi tierra firme, mi guía y mi ejemplo, por sus consejos que me han hecho ser quien soy ....porque siempre estaremos juntos.
A Sandri… por su amor y por su confianza en mi…porque por ella quiero ser mejor persona y hacer del mundo un sitio en el que los sueños no tengan límites…por aguantarme todos estos años, por sus abrazos, por sus palabras por apoyarme en este camino que termina y porque se que siempre estará en los que ahora comienzan.
A mi nonita por su amor y confianza por ayudarme a ser quien soy…por sus palabras de animo cuando más las necesito, por sus apapachos, por sus consejos…porque aunque lejos siempre estará presente en donde yo este.
A Santi por ser mi amigo, mi inspiración, mi cómplice, por todo el amor que me brinda día a día sin esperar nada a cambio, por sus besos, por acompañarme en este camino, por mostrarme cosas de mí que ni yo conocía, por ayudarme a crecer y por crecer junto a mi….por mostrarme un mundo mas hermoso del que nunca había conocido, por ser mi eterno sueño.
TABLA DE CONTENIDO
1 INTRODUCCIÓN ... 16
2 MARCO TEÓRICO... 19
2.1 Brazo Robot... 20
2.1.1 Componentes y subsistemas de un brazo robot ... 20
2.2 Fundamentos matemáticos y físicos en robótica ... 22
2.2.1 Descripción de posición y orientación... 22
2.2.2 Sistemas de referencia ... 22
2.2.3 Descripción de la posición... 22
2.2.3.1 Coordenadas cartesianas ... 23
2.2.3.2 Coordenadas cilíndricas ... 24
2.2.3.3 Coordenadas esféricas... 24
2.2.4 Descripción de la orientación ... 25
2.2.4.1 Matrices de rotación (respecto a uno de los ejes de referencia) ... 26
2.2.5 Matrices y coordenadas homogéneas ... 27
2.2.6 Matriz homogénea de transformación inversa... 28
2.3 Transformaciones básicas: Translación y Rotación ... 28
2.3.1 Translación ... 28
2.3.2 Rotación... 29
2.3.3 Composición de transformaciones... 30
2.3.3.1 Rotaciones compuestas ... 32
2.3.3.2 Matrices de rotación respecto de un eje arbitrario... 34
2.4 Cinemática... 35
2.4.1 Espacio articular y espacio cartesiano ... 36
2.4.2 El problema cinemático directo ... 37
2.4.2.1 Parámetros de Denavit-Hartenberg ... 39
2.4.2.2 Asignación de sistemas de referencia... 41
2.4.3 Transformación homogénea ... 44
2.4.4 Problema cinemático inverso... 46
2.4.4.1 Métodos de solución ... 48
3 Plataforma de Prueba... 49
3.1 Diseño y construcción ... 50
3.2 Especificaciones... 52
4 Tarjeta de Desarrollo... 55
4.1 Especificaciones... 55
5 IMPLEMENTACIÓN ... 57
5.1 Inicio de módulos y variables... 63
5.1.1 UART (UNIVERSAL ASYNCHRONOUS RECEIVER TRANSMITTER) ... 64
5.1.2 SPI (Serial Peripheral Interface)... 65
5.1.3 ADC (Analog to Digital Converter) ... 67
5.1.5 Temporizador ... 68
5.1.5.1 Temporizador 2... 68
5.1.5.2 Temporizador 3... 69
5.2 Directivas ... 69
5.2.1 Stop... 70
5.2.2 Home ... 71
5.2.3 Posición absoluta ... 71
5.2.4 Scan ... 72
5.3 Control de posición ... 73
5.3.1 PID... 74
5.3.2 PWM ... 77
5.3.3 Puente H ... 77
5.3.4 Potenciómetro... 77
5.3.5 Temporizador ... 78
5.3.6 Conversor Análogo Digital... 78
5.3.7 Referencia... 78
5.4 Funciones utilizadas... 79
5.4.1 Transmisión y recepción de tramas ... 79
5.4.1.1 Scan 00... 79
5.4.1.2 Stop 01 ... 80
5.4.1.3 Home 10... 81
5.4.1.4 Posición Absoluta 11 ... 81
5.4.2 Evasión de obstáculos... 83
5.4.3 Generación de trayectorias ... 90
5.4.4 Lectura de posición actual ... 90
5.4.5 Traducción... 90
5.4.6 Cinemática directa ... 91
5.4.7 Cinemática inversa ... 94
6 Protocolo de Pruebas y Resultados ... 99
6.1 Comunicación... 99
6.1.1 “Úrsula” vs. Plataforma de demostración... 99
6.1.1.1 Transmisión de tramas por parte de la plataforma de pruebas ... 99
6.1.1.2 Recepción de tramas ... 103
6.1.2 ADC-Externo vs. Plataforma de pruebas... 106
6.2 Prueba Control de Posición ... 111
6.2.1 Sintonización de Controladores... 112
6.2.2 Error en cada posicionamiento ... 113
6.3 Directivas ... 119
6.3.1 Directiva Home ... 119
6.3.2 Directiva Stop ... 119
6.3.3 Directiva posición absoluta... 120
6.3.4 Directiva Scan ... 123
7 Posibles Mejoras ... 126
LISTA DE FIGURAS
FIGURA 1. TRASLACIONES Y ROTACIONES BÁSICAS... 21
FIGURA 2. EJEMPLO DE ARTICULACIONES DE 1 Y 2 GRADOS DE LIBERTAD... 21
FIGURA 3. SISTEMAS DE REFERENCIAS DE COORDENADAS... 22
FIGURA 4. DESCRIPCIÓN DE LA POSICIÓN... 23
FIGURA 5. POSICIÓN DE UN SISTEMA O RESPECTO A OTRO M... 23
FIGURA 6. COORDENADAS CARTESIANAS... 24
FIGURA 7. COORDENADAS CILINDRICAS... 24
FIGURA 8. COORDENADAS ESFÉRICAS... 25
FIGURA 9. SISTEMAS DE REFERENCIA COINCIDENTES EN EL ORIGEN... 25
FIGURA 10. TRANSLACIONES BASICAS... 29
FIGURA 11. EJEMPLO TRANSLACIÓN Y ROTACIÓN... 32
FIGURA 12. ARTICULACIONES... 36
FIGURA 13. PROBLEMA CINEMATICO DIRECTO... 38
FIGURA 14. PARAMETROS DE DENAVIT-HARTENBERG... 39
FIGURA 15. ENUMERACIÓN DE ESLABONES Y ARTICULACIONES... 42
FIGURA 16. EJES COORDENADOS... 42
FIGURA 17. TRANSFORMACIÓN HOMÓGENEA... 45
FIGURA 18. PARTES DE LA PLATAFORMA DE DEMOSTRACIÓN... 51
FIGURA 19. PLATAFORMA DE DEMOSTRACIÒN... 52
FIGURA 20. UBICACIÓN EN EL PLANO X-Y DE LA PLATAFORMA DE PRUEBA OBSERVADA DESDE ARRIBA.... 53
FIGURA 21. DIAGRAMA EN BLOQUES TARJETA DE DESARROLLO... 55
FIGURA 22. DIAGRAMA DE PINES MICROCONTROLADOR... 56
FIGURA 23. DIAGRAMA DE FLUJO INICIALIZACIÓN DEL PROGRAMA... 59
FIGURA 24. DIAGRAMA DE FLUJO DIRECTIVA SCAN... 60
FIGURA 25. DIAGRAMA DE FLUJO DIRECTIVA POSICIÓN ABSOLUTA... 61
FIGURA 26. DIAGRAMA DE FLUJO DIRECTIVA HOME... 62
FIGURA 27. DIAGRAMA DE FLUJO DIRECTIVA STOP... 63
FIGURA 28. DIAGRAMA DE TIEMPOS DEL ADC EXTERNO... 66
FIGURA 29. CELDAS PARA SCAN... 72
FIGURA 30. DIAGRAMA EN BLOQUES CONTROL DE POSICIÓN... 74
FIGURA 31. RESPUESTA DE LA PLANTA COMPENSADA... 75
FIGURA 32. DIAGRAMA DE FLUJO DE RUTINA DE EVASIÓN DE OBSTÁCULOS... 85
FIGURA 33. DIAGRAMA DE FLUJO DE EVALUACIÓN DE OBSTÁCULOS A LA DERECHA... 86
FIGURA 34. DIAGRAMA DE FLUJO DE EVALUACIÓN DE OBSTÁCULOS A LA IZQUIERDA... 87
FIGURA 35. UBICACIÓN DE LOS ULTRASONIDOS EN LA PLATAFORMA DE DEMOSTRACIÓN.IMAGEN TOMADA DESDE LA PARTE INFERIOR DE LA PLATAFORMA... 88
FIGURA 36. SISTEMAS DE REFERENCIA PLATAFORMA DE PRUEBA... 91
FIGURA 37. CINEMÁTICA INVERSA PRIMER CUADRANTE... 95
FIGURA 38. ÁNGULOS 2 Y 3CINEMATICA INVERSA PARA Z>16 ... 96
FIGURA 39. ÁNGULOS 2 Y 3 CINEMATICA INVERSA PARA Z<16 ... 97
FIGURA 40. PRUEBA SOBRE LA DIRECTIVA SCAN “CELDA 1” ... 100
FIGURA 41. PRUEBA SOBRE LA DIRECTIVA SCAN “CELDA 3” ... 101
FIGURA 42. PRUEBA SOBRE LA DIRECTIVA STOP. ... 101
FIGURA 43. PRUEBA SOBRE LA DIRECTIVA HOME”SIN OBSTACULOS”... 102
FIGURA 46. PRUEBA SOBRE LA DIRECTIVA SCAN “RECEPCION DE DATOS”. ... 103
FIGURA 47. PRUEBA SOBRE LA DIRECTIVA STOP “RECEPCION DE DATOS”. ... 104
FIGURA 48. PRUEBA SOBRE LA DIRECTIVA HOME “RECEPCION DE DATOS”. ... 104
FIGURA 49. PRUEBA SOBRE LA DIRECTIVA POSICION ABSOLUTA “RECEPCION DE DATOS”. ... 105
FIGURA 50. INTERFAZ GRÁFICA... 105
FIGURA 51. PRUEBA “DIFERENTES DISTANCIAS SOBRE EL MISMO MATERIAL”. ... 107
FIGURA 52. PRUEBA “DIFERENTES DISTANCIAS –DISTINTAS FORMAS ”. ... 107
FIGURA 53. PRUEBA “DIFERENTES DISTANCIAS –SUPERFICIE PLANA ”. ... 108
FIGURA 54. PRUEBA “DIFERENTES DISTANCIAS –SUPERFICIE CONCAVA ”. ... 108
FIGURA 55. PRUEBA “DIFERENTES DISTANCIAS –SUPERFICIE CONVEXA ”. ... 109
FIGURA 56. PRUEBA “DIFERENTES DISTANCIAS –DISTINTOS MATERIALES ”. ... 109
FIGURA 57. PRUEBA “DIFERENTES DISTANCIAS –DISTINTOS MATERIALES ”. ... 110
FIGURA 58. PRUEBA “DIFERENTES DISTANCIAS –DISTINTOS MATERIALES ”. ... 111
FIGURA 59. ANGULOS MEDIDOS EN LA ARTICULACION 1... 114
FIGURA 60. GRÁFICA DE ERROR DE ÁNGULO SOBRE LA ARTICULACION 1. ... 114
FIGURA 61. ANGULO MEDIDOS SOBRE LA ARTICULACION 2... 115
FIGURA 62. GRÁFICA DE ERROR DE ÁNGULO SOBRE LA ARTICULACION 2. ... 116
FIGURA 63. ANGULOS MEDIDOS SOBRE LA ARTICULACION 3... 117
FIGURA 64. GRÁFICA DE ERROR DE ÁNGULO SOBRE LA ARTICULACION 3. ... 117
FIGURA 65. RESULTADOS POSICIÓN X... 120
FIGURA 66. RESULTADOS POSICIÓN Y... 121
FIGURA 67. RESULTADOS POSICIÓN Z... 121
FIGURA 68. OBSTÁCULO NO 1... 124
LISTA DE TABLAS
TABLA NO.1. REPRESENTACIONES DE ÁNGULOS DE EULER... 33
TABLA NO.2. CONFIGURACIÓN DEL PUENTE H ... 77
TABLA NO.3. RANGO DE VOLTAJES EN CADA UNA DE LAS ARTICULACIONES... 78
TABLA NO.4. TRAMAS DE COMUNICACIÓN... 82
TABLA NO.5. PARÁMETROS DE DENAVIT-HARTENBERG... 92
TABLA NO.6. MATRIZ HOMOGÉNEA DE LOCALIZACIÓN DEL SISTEMA DE COORDENADAS DEL EXTREMO RESPECTO A LA BASE... 93
TABLA NO.7. CONSTANTES IMPLEMENTADAS EN CADA UNA DE LAS ARTICULACIONES... 112
LISTA DE ANEXOS
Anexo 1. Tablas de error en la directiva posición absoluta
Anexo 2. Generación de Trayectorias
Anexo 3. Programas Desarrollados
1
INTRODUCCIÓN
La detección y desactivación de minas antipersonales es uno de los temas más trascendentales y de mayor incidencia sobre la población colombiana, puesto que puede herir o causar la muerte de una o varias personas sin discriminar a la víctima, la cual generalmente no está involucrada en el conflicto armado. Según el Comité Internacional de la Cruz Roja (CICR) se calcula que mensualmente 800 personas (26 por día) pierden la vida a causa de las minas antipersonales; el Departamento de Estado de los Estados Unidos indica que cada año hay aproximadamente 26.000 (entre muertos y heridos, 72 víctimas diarias) personas afectadas por este problema, por otro lado la revista IDOC Internazionale, afirma que por cada víctima que sobrevive a la explosión de una mina dos fallecen, y que en algunos países el 75% de los sobrevivientes requiere amputaciones[1].
estos problemas es necesario implementar una serie de métodos capaces de detectar y desactivar estos artefactos de manera segura[2][3].
Es indudable que para lograr mitigar el problema y su impacto sobre la población civil y militar, se deben mejorar y/o tecnificar los métodos de detección de minas y la estrategia de desminado y así disminuir o hasta eliminar por completo esta amenaza.
Debido a esta situación, el objetivo del presente trabajo de grado fue el desarrollo de un prototipo que ayude a la labor de detección de minas antipersonales, perfeccionando la estrategia usada en el proyecto “Úrsula” por medio de un sistema de control que manipula un brazo mecánico con tres grados de libertad y cuyas instrucciones de movimiento protegen la integridad de la plataforma móvil y le brindan una mayor longitud de alcance de exploración buscando una precisión mayor en el sistema de detección de minas. Las validaciones de los métodos de control y movimiento se realizaron con una plataforma de demostración.
ejecutar, describiendo además las funciones creadas para el desarrollo total del proyecto. El protocolo de pruebas y los resultados obtenidos en cada una de ellas son presentados en el capítulo seis. Este análisis está dividido en tres partes: la comunicación entre la plataforma móvil y el usuario, el control de posición y por último cada una de las directivas.
2
MARCO TEÓRICO
El presente marco teórico ha sido tomado de las referencias bibliográficas nombradas a continuación1:
Robots y Sistemas sensoriales. Autores: Fernando Torres, Jorge Pomares, Pablo Gil, Santiago T. Puente, Rafael Aracil. Editorial Prentice Hall, 2002.
Robótica: Control, Detección, Visión e inteligencia. Autores: K.S.FU, R.C González, C.S.G Le. Editorial McGraw-Hill, 1.988.
Exact Solution to the inverse Kinematics of a standard 6-axis Robot Manipulator. Autores: M. Shahinpoor, M Jamshidi and Young T. Kim
Los temas principales presentados en este capítulo son: matriz de transformación homogénea, translaciones básicas y compuestas sobre los ejes principales de un sistema de referencia, rotaciones básicas y compuestas con respecto a cada uno de los principales ejes de un sistema de referencia, así como, el análisis del problema cinemático directo e inverso de un brazo robot. Si el lector conoce y domina los temas anteriormente nombrados puede pasar directamente al capítulo 3 en el que se tratará la implementación del presente proyecto.
2.1 Brazo Robot
Mecánicamente, un brazo robot está diseñado para alcanzar un lugar específico localizado dentro de su volumen de trabajo representado por una esfera de influencia, el cual se determina de acuerdo con los grados de libertad que posea; de acuerdo con estos grados de libertad se pueden generar una serie de combinaciones de movimientos con el fin de posicionar su efector final en el lugar que necesita alcanzar.
2.1.1 Componentes y subsistemas de un brazo robot
La estructura mecánica básica de un brazo robot está compuesta por eslabones, que cumplen una función similar a la de un hueso; accionadores, de funcionalidad parecida a la de un músculo; transmisiones, con cierto parecido a los tendones; y los cables de señal, en cierto modo los nervios del robot. Los puntos de unión entre eslabones reciben el nombre de nodos y el elemento que permite dicha unión y un movimiento relativo entre ellos, al igual que en el caso de un brazo humano, es la articulación.
La capacidad de carga depende del dimensionamiento y características estructurales de los eslabones, sistemas de transmisión y accionadores.
pueden ser consideradas como un movimiento compuesto por componentes de translación a lo largo de uno o más de los ejes de coordenadas. De la misma forma, una rotación puede ser considerada como aquella cuyas componentes reflejan rotaciones producidas en torno a los ejes coordenados como lo describe la figura 1.
Figura 1. Traslaciones y rotaciones básicas2
Un cuerpo libre en el espacio puede moverse en tres direcciones independientes y perpendiculares entre sí con la posibilidad de rotar en torno a esas mismas direcciones, es por ello que se dice que posee seis grados de libertad. Ejemplo: Si una articulación está limitada a moverse en un plano, posee dos grados de libertad (ver figura 2).
Figura 2. Ejemplo de articulaciones de 1 y 2 grados de libertad
2
2.2 Fundamentos matemáticos y físicos en robótica
2.2.1 Descripción de posición y orientación
Para poder efectuar tareas con un robot, es necesario establecer claramente la forma de describir la posición y la orientación de un cuerpo rígido en el espacio, es decir, localizar adecuadamente al robot en un sistema de coordenadas definido.
2.2.2 Sistemas de referencia
Es muy importante un sistema de referencia puesto que un cuerpo rígido mantiene la relación entre éste y el objeto; los sistemas de referencia se definen y representan habitualmente mediante ejes ortogonales que definen a su vez la intersección entre tres planos ortogonales. Normalmente se utiliza un sistema dextrógiro, como se muestra en la figura 3.
Figura 3. Sistemas de Referencias de Coordenadas
2.2.3 Descripción de la posición.
Generalmente un robot ha de ser referenciado en el espacio tridimensional, en este caso, una posición se establece de forma unívoca mediante un vector de posición M
Figura 4. Descripción de la posición
Al tener asociado un objeto de interés un sistema de referencia O, el vectorp OMrepresenta
la posición del origen de dicho sistema O con respecto al M.
Figura 5. Posición de un sistema O respecto a otro M
2.2.3.1 Coordenadas cartesianas
Empleando este tipo de coordenadas, las componentes del vector pM son las proyecciones
Figura 6. Coordenadas Cartesianas
2.2.3.2 Coordenadas cilíndricas
Una posición en el espacio tridimensional se representa como pM(r,θ, z).Las componentes
del vector pM en un sistema de referencia M corresponden, al módulo de la proyección del
vector M
p sobre el plano xy, el ángulo que forma dicha proyección con el eje x y la proyección del vector pM sobre el eje z, respectivamente.
Figura 7. Coordenadas Cilindricas
2.2.3.3 Coordenadas esféricas
La primera y segunda componente del vector M
vector M
p con el eje z del sistema de referencia M. Una posición en el espacio tridimensional se representa como p (r,M
θ
,φ
) (ver figura 8).Figura 8. Coordenadas Esféricas
2.2.4 Descripción de la orientación
Para localizar totalmente un cuerpo en el espacio es necesario conocer, además de su posición, su orientación con respecto a un sistema de referencia, es decir, mientras que la posición de un cuerpo rígido respecto a un sistema de referencia M viene dada por la posición del origen del sistema de referencia O asociado a este, la orientación del cuerpo con respecto a un sistema de referencia M vendrá dada por la orientación relativa de los ejes del sistema de referencia O asociado a este con respecto al sistema M (ver figura 9).
2.2.4.1 Matrices de rotación (respecto a uno de los ejes de referencia)
Una matriz de rotación3 se puede definir como una matriz de transformación que opera sobre un vector de posición en un espacio tridimensional y transforma sus coordenadas expresadas en un sistema de coordenadas rotado OXoYoZo (sistema ligado al cuerpo) a un
sistema de coordenadas de referencia MXmYmZm
PXmYmZm = R*PXoYoZo (2.1)
Recordando la definición de las componentes de un vector se tiene: PXoYoZo = PXo*iXo + PYo*jYo + PZo*kZo (2.2)
Donde PXm, PYm y PZm representan las componentes de P a lo largo de los ejes MZm, MYm y
MZm respectivamente, de allí se obtiene:
(2.3)
Análogamente, se pueden obtener las coordenadas PXoYoZo con las coordenadas PXmYmZm
PXoYoZo= Q*PXmYmZm (2.4)
PXm iXm * iXo iXm*jYo iXm* kZo PXo
PYm = jYm * iXo jYm * jYo jYm * kZo PYo
(2.5)
Como los productos escalares son conmutativos
Q = R-1 = RT (2.6)
2.2.5 Matrices y coordenadas homogéneas
En el área de robótica es importante disponer de un mecanismo que permita localizar un objeto en el espacio tridimensional, es decir, en posición y orientación conjuntamente, esto se logra mediante el uso de las coordenadas homogéneas las cuales permiten tener en una sola matriz la posición y orientación de un objeto respecto a un sistema de referencia.
La matriz de transformación homogénea es una matriz de 4 x 4 que transforma un vector de posición expresado en coordenadas homogéneas desde un sistema de coordenadas hasta otro sistema de coordenadas. Una matriz de transformación homogénea está compuesta por 4 submatrices:
(2.7)
La submatriz 3 x 3 superior izquierda representa la matriz de rotación; la submatriz superior derecha 3 x 1 representa el vector de posición del origen del sistema de coordenadas rotado
PXo iXo* iXm iXo*jYm iXo * kZm PXm
PYo = jYo * iXm jYo * jYm jYo * kZm PYm
PZo kZo* iXm kZo* jYm kZo* kZm PZm
R 3 x 3 p 3 x 1 Matriz de rotación Vector de Posición
(traslación) T = f
1 x 3 1 x 1 = Transformación de
perspectiva
con respecto al sistema de referencia que tiene como efecto el trasladar un sistema de coordenadas OXoYoZo con ejes paralelos al sistema de coordenadas de referencia
MXmYmZm pero cuyo origen está en dx, dy, dz;
Los vectores de transformación de perspectiva y escalización no tienen sentido en robótica, puesto se trabaja directamente con posiciones y orientaciones reales; al igual que se trabaja con un escalización real 1 a 1.
2.2.6 Matriz homogénea de transformación inversa
La matriz de transformación permite localizar un sistema O respecto a otro M. En ocasiones interesa conocer la relación inversa, es decir, conocer la localización de M respecto a O, lo que corresponderá a la inversa de la matriz de transformación homogénea.
(2.8)
2.3 Transformaciones básicas: Translación y Rotación
2.3.1 Translación
Se pueden considerar tres translaciones básicas sobre cada uno de los ejes principales de un sistema de referencia, a partir de estas es posible construir una translación compuesta, que esta representada por el vector p(x, y, z) cuyas componentes corresponden a los valores asociados a cada una de las traslaciones básicas (ver figura 10).
T = rotaciónT rotaciónT *traslación
−
Figura 10. Translaciones basicas
Debido a que solo se esta tomando el caso en el cual se realiza una translación, la submatriz
de rotación de la matriz de transformación homogénea será la identidad y la de translación
son las magnitudes de las translaciones efectuadas sobre cada uno de los ejes principales.
= = 1 0 0 0 1 0 0 0 1 0 0 0 1 ) , , ( ) ( z y x z y x Trans p
Trans (2.9)
2.3.2 Rotación
Se pueden obtener tres rotaciones básicas considerando tres giros con respecto a cada uno
de los ejes principales de un sistema de referencia; la localización final depende del orden
en que se haya efectuado cada una de las rotaciones básicas. Al realizar cualquier rotación
la matriz de transformación homogénea tiene como vector de traslación cero, ya que se
analiza en este momento solo la rotación. Al aplicar la ecuación 2.3 y realizando los
productos escalares se obtiene:
− + = 1 0 0 0 0 ) cos( ) 90 cos( 0 0 ) 90 cos( ) cos( 0 0 0 0 1 ) , (
α
α
α
α
α
xRot (2.10)
• Rotación sobre el eje y: Se refiere a la rotación con un ángulo β sobre el eje y:
+ − = 1 0 0 0 0 ) cos( 0 ) 90 cos( 0 0 1 0 0 ) 90 cos( 0 ) cos( ) , (
α
β
β
β
β
yRot (2.11)
• Rotación sobre el eje z: Se refiere a la rotación con un ángulo γ sobre el eje z.
− + = 1 0 0 0 0 1 0 0 0 0 ) cos( ) 90 cos( 0 0 ) 90 cos( ) cos( ) , (
γ
γ
γ
γ
γ
zRot (2.12)
2.3.3 Composición de transformaciones
Una transformación compleja se descompone en una serie de transformaciones básicas de
traslación en el caso de un cambio del objeto respecto a la referencia, y/o de rotación, si lo
que se produce es un giro del objeto respecto al sistema de referencia.
La composición de transformaciones, al estar representadas por matrices, supone que el
orden en que se aplica cada una de las transformaciones básicas que la componen es
identificar con respecto a qué sistema se realiza cada transformación, debido a que ayuda a
determinar el orden de las operaciones a realizar.
Cuando se realiza una transformación de una localización (posición y giro) a otra se tienen
dos posibilidades para referenciarla. La primera se determina respecto al sistema resultante
de la transformación anterior, que se le denomina móvil, la segunda con respecto al que fue
referencia para la última transformación, que se le conoce como fijo.
La primera vez que se aplica una transformación no existe móvil, o se puede considerar
como coincidente con el fijo; teniendo en cuenta esto se determinan las siguientes reglas:
• Si la transformación se realiza con respecto al sistema fijo se premultiplica sobre las
transformaciones ya efectuadas.
• Si la transformación se efectúa sobre el sistema móvil, es decir, con respecto a la
última localización del sistema transformado se postmultiplica respecto a las
aplicadas previamente.
Tomando como ejemplo,
final
final Rot z Tras a p
p = ( ,−90)* (0, ,0)* (2.13)
Se puede representar primero con una translación con respecto al sistema fijo y
Figura 11. Ejemplo Translación y Rotación
Sin embargo, considerando las reglas anteriores, también se puede interpretar como una
primera transformación de rotación respecto al sistema fijo seguida de una translación
respecto al sistema móvil (ver figura 11b.), siendo el resultado el mismo para ambos casos.
2.3.3.1 Rotaciones compuestas
Las matrices de rotación básicas se pueden multiplicar entre si para representar una
secuencia de rotación finita respecto del eje principal del sistema de coordenadas
MXmYmZm4.
Cabe anotar que en robótica interesa representar la orientación de un sistema respecto a otro
a través de cualquier eje de rotación (no solamente con respecto al eje principal). Un giro
general se puede descomponer en una combinación de tres rotaciones básicas realizadas en
un determinado orden, teniendo en cuenta las reglas generales de composición de
transformaciones es posible obtener más de una agrupación de rotaciones básicas para un
mismo giro; entre estas existen veinticuatro combinaciones definidas: doce de ellas se
obtienen mediante combinación de tres rotaciones simples, realizadas sobre los ejes
principales del sistema fijo, las otras doce conocidas como ángulos de Euler, se definen
mediante combinación de tres giros sobre ejes principales del sistema móvil.
2.3.3.1.1 Matriz de rotación con representación de ángulos de Euler
Los ángulos de Euler describen la orientación de un cuerpo rígido con respecto a un sistema
de referencia fijo. Hay muchos tipos diferentes de representaciones de ángulos de Euler.
Sistema I Ángulos Eulerianos
Sistema II Ángulos De Euler
Sistema III Elevación
Desviación y Giro respecto del eje
MZm
respecto del eje MZm
respecto del eje MXm
respecto del eje OXo
respecto del eje OYo
respecto del eje MYm
Secuencia De
Rotaciones
respecto del eje OZo
respecto del eje OZo
respecto del eje MZm
Tabla No.1. Representaciones de ángulos de Euler
En la tabla 1 la primera representación de los ángulos Eulerianos corresponde a:
1. Una rotación de ángulo respecto del eje MZm.
2. Una rotación de ángulo respecto del eje OXo.
3. Finalmente, una rotación de ángulo respecto del eje OZo.
La matriz de rotación de ángulos se puede especificar también en términos de las rotaciones
respecto de los ejes principales del sistema de coordenadas de referencia de la siguiente
respecto del eje MXm y finalmente una rotación de respecto del eje OZo. Por lo tanto la
matriz de rotación resultante es:
(2.14)
Igualmente se pueden interpretar las demás representaciones.
2.3.3.2 Matrices de rotación respecto de un eje arbitrario
Para hallar la matriz de rotación alrededor de un eje r se hacen algunas rotaciones respecto
de los ejes principales del sistema MXmYmZm para alinear el eje r con el eje MZm luego se
hace la rotación respecto de r con ángulo n y se gira el eje principal del sistema MXmYmZm
para volver al eje r otra vez a su posición original.
Una vez realizado el procedimiento anterior se llega a la siguiente matriz de transformación
rXm2V( ) + C( ) rXm * rYm * V( ) – rZm * S( ) rXm * rZm * V( ) + rYm * S( ) Rr, = rXm * rYm * V( ) + rZm * S( ) rYm2 * V( ) + C( ) rYm * rZm * V( ) – rXm * S( ) rXm * rZm * V( ) – rYm * S( ) rYm * rZm * V( ) + rXm *
S( ) rXm
2 * V( ) + C( )
(2.15)
En la anterior matriz se tiene:
V ( ) = 1 – Cos ( )
C ( ) = Cos ( )
S ( ) = Sen ( ) (2.16)
C( )*C( ) – S( )*C( )*S( ) -C( )*S( ) – S( )*C( )*C( ) S( )*S( ) S( )*C( ) – C( )*C( )*S( ) -S( )*S( ) + C( )*C( )*C( ) -C( )*S( )
2.4 Cinemática
La cinemática del brazo del robot trata del estudio analítico de la geometría del movimiento
de un brazo robot con respecto a un sistema de coordenadas de referencia fijo sin
considerar las fuerzas o momentos que originan el movimiento, interesándose por la
descripción analítica del desplazamiento espacial del robot como una función del tiempo,
en particular de las relaciones entre la posición de las variables de articulación y la
orientación del efector final del brazo robot.
Hay dos problemas fundamentales en la cinemática del robot:
• Problema cinemático directo: estudia cuál es la orientación y la posición del efector
final con respecto a un sistema de coordenadas de referencia dado el vector de
ángulos de las articulaciones q(t)=(q1(t),q2(t),…,qn(t))T y los parámetros
geométricos del brazo.5
• Problema cinemático inverso: estudia si el brazo puede alcanzar la posición y
orientación de la mano que se desea, y si puede, cuántas configuraciones satisfacen
la misma condición dada una posición y orientación deseada del efector final del
brazo y los parámetros geométricos de los elementos con respecto a un sistema de
coordenadas de referencia.
2.4.1 Espacio articular y espacio cartesiano
Para un robot como el de la figura 12, en el que las articulaciones han sido numeradas
desde 1 hasta n, el valor del parámetro de la articulación i, notado como qi, es llamado
variable articular y el conjunto de variables:
q=(q1,q2,q3, qn) (2.17)
Se denota como vector de variables articulares.
Figura 12. Articulaciones
En el caso más general, en el cual el extremo del robot puede tomar una posición y
orientación cualquiera en el espacio tridimensional, el vector de coordenadas para el
extremo del robot tendrá seis parámetros, tres de posición y tres de orientación:
) , , , , ,
(x y zα β γ
p= (2.18)
La relación que liga los parámetros en el espacio articular y el cartesiano generalmente es
de tipo no lineal, y para la cinemática directa viene dada por:
) (q F
p= (2.19)
la cual presenta una solución única a este problema. Por otro lado para la cinemática
) ( 1 p F q −
= (2.20)
Desde un punto de vista analítico, no está garantizada la solución a la cinemática inversa y
si existe, puede que no sea única. Por lo tanto, algunas de las posibles soluciones no son
una respuesta adecuada, ya que las articulaciones estarían en posiciones físicamente
imposibles.
2.4.2 El problema cinemático directo
Como los elementos de un brazo pueden girar y/o trasladarse con respecto a un sistema de
coordenadas de referencia, es necesario establecer un sistema de coordenadas ligado al
cuerpo a lo largo del eje de la articulación para cada elemento; el problema cinemático
directo se reduce a encontrar una matriz de transformación que relaciona el sistema de
coordenadas ligado al cuerpo con el sistema de coordenadas de referencia.
Para resolver el problema de cinemática directa, en el caso más general se puede asociar un
sistema de referencia a cada uno de los eslabones, incluidos la base y el extremo del robot.
Si se tiene en cuenta que siempre existirá una transformación homogénea, compuesta por
traslaciones y rotaciones básicas, estos permitirán pasar de un sistema de referencia
asociado al eslabón i al del eslabón i+1, y dicha transformación quedará en función de los
parámetros de la articulación i:
) (
1 i
i
iT F q
=
El problema se reduce a iterar el proceso de búsqueda de las n+1 transformaciones
necesarias para pasar desde el sistema asociado a la base del robot hasta el extremo del
robot, pasando por los sistemas asociados a todos y cada uno de los eslabones, generándose
con todas ellas una transformación homogénea total que expresa la posición y orientación
del extremo del robot con respecto a la base en función de los parámetros de las
articulaciones.
) , , , ( *
*
* 1 1 2 3
3 2 2 1
1 extremo n
n n n base
extremo
baseT T T T T T F q q q q
=
= − (2.22)
En la figura 13 se esquematiza el proceso para un robot genérico de n grados de libertad.
Figura 13. Problema Cinematico Directo
Existe un método sistemático para resolver el problema de cinemática directa a través de
una transformación homogénea, el cual se divide en tres fases:
•Definición de los parámetros de Denavit-Hartenberg
•Asignación de sistemas de referencia
2.4.2.1 Parámetros de Denavit-Hartenberg
Los robots están compuestos por una serie de articulaciones ya sean del tipo prismático6 o
rotacional7, las cuales están conectadas entre si por medio de eslabones, de acuerdo a esto
se pueden establecer cuatro parámetros, dos relativos al tamaño y forma del eslabón y otros
dos relacionados con la posición relativa entre los eslabones consecutivos8.
Al hallar dichos parámetros es necesario tener en cuenta que el eje de una articulación se
define según el eje con respecto al que se produce el movimiento, es decir, en una
articulación rotacional se define respecto al giro y en una articulación prismática respecto a
la dirección de desplazamiento (ver figura 14).
Figura 14. Parametros de Denavit-Hartenberg
6 Permiten una translación de un eslabón con respecto a otro
Los dos parámetros relativos al tamaño y forma del eslabón son:
• ai, distancia entre los ejes i e i+1 de las articulaciones a lo largo de la normal común.
Este parámetro define en cierto modo el tamaño del eslabón, y por esto se le conoce
como “longitud del eslabón”.
•
α
i, ángulo que existiría entre los ejes i e i+1 de las articulaciones si estos se cortaranen los puntos de corte de la línea normal común. Este parámetro mide la forma del
eslabón a través del ángulo que sobre el mismo se encuentra girado, por lo que se le
conoce como ángulo de torsión del eslabón.
Los parámetros que relacionan la posición relativa de un eslabón con respecto a su
predecesor son:
• di, distancia entre las intersecciones de las normales comunes al eje de la articulación
i, medida a lo largo de ese mismo eje; este parámetro expresa la distancia entre los
dos eslabones, marcada por el tamaño y forma de la articulación, por esto se le
conoce como longitud articular.
•
θ
i, ángulo que existiría entre las líneas normales comunes al eje de la articulación i sise cortarán en el mismo punto del eje de la articulación. Expresa, entonces, el
ángulo que forman los dos eslabones, teniendo en cuenta la forma de la articulación,
Los parámetros relativos a la forma y tamaño del eslabón, por ser este un cuerpo rígido, no
sufren ninguna variación, sin embargo, de los dos parámetros que relacionan la posición
relativa entre los eslabones, al estar unidos por una articulación uno de ellos varia, dicho
parámetro depende del tipo de articulación que se esté manejando y es llamada variable
articular qi. De esta forma para una articulación del tipo rotacional, al ángulo
θ
i, es el queproduce la variación y la distancia relativa di permanece constante, mientras que para una
articulación prismática, el parámetro variable es la distancia relativa di, y permanece fijo el
ángulo
θ
i.2.4.2.2 Asignación de sistemas de referencia
El problema cinemático directo se puede resolver encontrando una transformación
homogénea, función de los parámetros de las articulaciones, que exprese la posición y
orientación del extremo del robot con respecto a un sistema de referencia situado en la base
de este.
El método de solución se basa en la definición de sistemas de referencia asociados a cada
uno de los eslabones, logrando así realizar la transformación entre dos eslabones
consecutivos sólo mediante dos giros y dos translaciones, es importante aclarar que se
pueden realizar diferentes asignaciones de sistema de referencia a un mismo eslabón,
uno de ellos es localizar el sistema de referencia del eslabón en el eje de la articulación que
la enlaza con el siguiente eslabón.
Una vez numerados los eslabones y articulaciones (ver 15), el sistema de referencia
asociado al eslabón i estará situado en un punto que pueda considerarse como fin del
eslabón, a lo largo de la articulación i+1 que lo une con el eslabón posterior(ver figura 16).
Figura 15. Enumeración de eslabones y articulaciones
Figura 16. Ejes Coordenados
El eje zidel sistema de referencia del eslabón i se alinea con el eje de la articulación i+1. El
i+1, apuntando de i a i+1, al fijar este eje queda fijo el origen del sistema. El eje yi se
establece para que el sistema de referencia sea dextrógiro.
Pueden darse dos situaciones en la que la línea normal común (eje xi) no sea única:
• Cuando los ejes son paralelos, en este caso el origen del sistema de referencia i
queda indefinido, por convenio se toma el origen en la articulación i+1.
• Los ejes se cortan entre sí, el origen del sistema i se localiza en el punto de corte, en
cuyo caso xi está según la dirección perpendicular al plano que forman zi y zi−1,
tomándose el sentido en este caso de forma arbitraria.
De la misma forma descrita anteriormente, se determina el resto de sistemas de referencia
para los eslabones 1 a n-1, es decir, todos los eslabones excluyendo la base del robot y el
eslabón del extremo.
El sistema de referencia asociado a la base del robot, el eslabón 0, es el único que
permanece fijo en la cadena cinemática, por lo que es considerado como el sistema de
referencia de todos los demás, el eje z0 esta alineado con la articulación 1; sin embargo, al
El sistema de referencia asociado al último eslabón se localiza en el extremo del robot; en
este caso no existe articulación n+1, por lo que su eje zn se toma coincidente con el eje z
del sistema asociado al eslabón n-1.
2.4.3 Transformación homogénea
De acuerdo a lo visto anteriormente, se observa que para pasar del sistema i-1 al i es
necesario aplicar dos giros y dos translaciones en el orden adecuado, los cuales
corresponden con los parámetros de Denavit-Hartenberg para la articulación i (ver figura
17), los que toman los siguientes valores:
•
θ
icomo el ángulo entre xi−1 y xi medido en torno a zi−1.• dicomo la distancia medida a lo largo de zi−1 entre el origen del sistema i-1 y la
intersección de los ejes xi y zi−1.
•
α
icomo ángulo entre zi−1 y zimedido en torno a xi• ai como la distancia medida a lo largo de xi entre la intersección de los ejes xi y zi−1
y el origen del sistema i.9
9
Figura 17. Transformación Homógenea
Con base en estas cuatro transformaciones, se obtiene la matriz de transformación
homogénea para pasar del sistema i-1 al sistema i:
) , ( * ) , ( * ) , ( * ) ,
( 1 1
1 i i i i i i i i i
i T Rot z Tras z d Tras x a Rot x
α θ − − − = − − = 1 0 0 0 0 ) cos( ) ( 0 0 ) ( ) cos( 0 0 0 0 1 * 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 * 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 * 1 0 0 0 0 1 0 0 0 0 ) cos( ) ( 0 0 ) ( ) cos( i i i i i i i i i i sen sen a d sen sen α α α α θ θ θ θ = =Tras(zi−1,di)*Rot(zi−1,θi)*Rot(xi,αi)*Tras(xi,ai)
Determinando cada una de las matrices de transformación entre los distintos sistemas de
coordenadas del robot, se puede llegar a la matriz de transformación entre el sistema de
coordenadas de la base del robot y el del extremo del mismo10.
2.4.4 Problema cinemático inverso
El problema de cinemática inversa consiste en determinar qué valores tienen que tomar las
variables articulares para que el extremo del robot se encuentre en una posición y
orientación dadas.
Teniendo en cuenta la matriz de transformación homogénea total y las submatrices de
rotación y de posición se puede observar que:
= 1 0 0 0 33 32 31 23 22 21 13 12 11 0 o extremo o extremo extremo o extremo z r r r y r r r x r r r T (2.24) = 33 32 31 23 22 21 13 12 11 r r r r r r r r r Rotextremo o (2.25) ) , , ( o extremo o extremo o extremo o extremo extremo
oTras p x y z
= (2.26)
Cada uno de los elementos no nulos de la matriz total son función de las n variables
articulares, resultando doce ecuaciones, nueve correspondientes a los elementos de la
submatriz de rotación y las otras tres a los del vector de translación.
Sin embargo, para expresar una rotación se necesitan tres grados de libertad, por lo que solo
tres de las nueve ecuaciones son linealmente independientes, el conjunto de ecuaciones se
expresa como:
(
)
(
)
(
)
(
)
(
)
(
n)
o extremo n o extremo n o extremo n z o extremo n y o extremo n x o extremo q q q f q q q f q q q f q q q f z q q q f y q q q f x , , , , , , , , , , , , , , , , , , 2 1 2 1 2 1 2 1 2 1 2 1 γ β α
γ
β
α
= = = = = = (2.27)Debido a la no linealidad del sistema de ecuaciones pueden presentarse dos circunstancias:
• No existe solución: este caso se presenta, cuando aún teniendo desde un punto de
vista analítico una solución al conjunto de ecuaciones 2.27, todas las soluciones
encontradas se encuentren fuera del espacio de trabajo del robot o simplemente no
satisfacen los rangos de movimiento de las articulaciones reales.
• Existencia de múltiples soluciones: La solución óptima depende del problema que
se trata, no siempre es factible la solución que minimice el recorrido de las
2.4.4.1 Métodos de solución
Para resolver el problema cinemático inverso se puede optar por dos vías: solución
numérica o solución cerrada. La primera posibilidad se desecha generalmente, ya que
resulta más lenta y costosa computacionalmente que una solución cerrada.
La solución cerrada hace referencia a la búsqueda de una solución basada en expresiones
analíticas o en soluciones polinómicas, que no hacen uso de cálculos iterativos. Existen dos
métodos:
• Solución algebraica: consiste en seleccionar seis ecuaciones de las doce de todo el
conjunto dado, de forma que se establezca un sistema de seis ecuaciones con seis
incógnitas que sea fácil de resolver.
• Solución geométrica: consiste en descomponer la cadena cinemática del robot en
varios planos geométricos, resolviendo por trigonometría el problema asociado a
3
Plataforma de Prueba
Debido a las limitaciones que tiene el brazo móvil de la plataforma “Úrsula” al poseer solo
dos grados, se ve la necesidad de aumentarlos, logrando así ampliar las capacidades de
movimiento y la precisión alcanzada. En este contexto, se recuerdan los objetivos
propuestos en este proyecto, los cuales pretenden optimizar y expandir la labor del brazo
utilizado en la plataforma móvil “Úrsula” para la detección de minas antipersonales:
1. Ejecutar un movimiento controlado de exploración para garantizar el barrido de la
región mediante el seguimiento de una trayectoria predeterminada haciendo uso de
un control de posición.
2. Calcular la cinemática inversa que le proporcione al brazo la capacidad de ir a
posiciones específicas alcanzables en el espacio.
3. Desarrollar los algoritmos de control del brazo desde un sistema microcontrolado.
4. Generar una rutina de evasión de obstáculos para el brazo móvil mediante el
seguimiento del respectivo contorno, utilizando sensores de ultrasonido.
No siendo objetivo del trabajo de grado, pero constituyéndose en una herramienta
fundamental para mostrar las posibilidades de los desarrollos realizados y por razones
ajenas a la realización del presente proyecto, se hizo necesario desarrollar una plataforma
artesanal de pruebas, con la que se pudiera validar las capacidades de los algoritmos de
objetivos del proyecto. El desarrollo y especificaciones de dicha plataforma se muestran a
continuación.
3.1 Diseño y construcción
Inicialmente el diseño y la construcción de la plataforma mecánica fue guiado por personas
con conocimiento en el desarrollo de sistemas mecánicos, este proceso se realizó en varias
etapas: primero se realizaron los cortes correspondientes a los 3 primeros eslabones
utilizando aluminio debido a que es un material durable, liviano y económico, el cuarto
eslabón se fabricó en balso con el objetivo de minimizar el peso generado sobre la
plataforma y disminuir al máximo el esfuerzo realizado por los motores, luego se procedió
a la fabricación de 6 piñones en nylon, dos para cada articulación, con un diámetro de
3.8cm y 20 dientes; posteriormente se inició con la integración de los piñones, los
eslabones, pasadores y bujes, los últimos dos están hechos en bronce y permiten asegurar
los ejes de los motores que generan el movimiento y de los potenciómetros que sensan un
voltaje proporcional al ángulo en el que se encuentra la articulación.
Esta estructura fue ubicada en una caja hueca fabricada en acero con medidas 24.5cm de
ancho, 24.5cm de largo y 17.5cm de alto, la cual soporta el peso de la plataforma de
pruebas y adicionalmente almacena las tarjetas utilizadas para controlar la plataforma
Figura 18a. Eslabones y piñones
Figura 18b. Articulaciones
Figura 18. Partes de la plataforma de demostración
Por otro lado el tercer eslabón soporta una caja rectangular fabricada en cartón paja de
medidas 27cm de ancho, 5cm de largo y 5cm alto, la cual soporta las 3 parejas de
ultrasonidos, con el fin de lograr que cada pareja de ultrasonidos funcione de una manera
independiente y no genere interferencia sobre los demás dispositivos.
Piñones
Eslabón 0 Eslabón 2
Eslabón 1 Eslabón 4
Articulación 2 Articulación 3
3.2 Especificaciones
Figura 19a. Vista superior Figura 19b.Vista lateral
Figura 19. Plataforma de demostraciòn
• La plataforma de pruebas posee tres articulaciones, encargándose cada una de ellas
de uno de los grados de libertad (ver figura 19).
• La plataforma de pruebas consta de 4 eslabones, el primer eslabón corresponde a la
base sobre la cual gira la plataforma; el segundo, tercero y cuarto eslabón se
encargan de unir las articulaciones entre si, dichos eslabones tienen longitudes de
16, 23 y 25cm respectivamente.
• Para generar el movimiento en cada una de las articulaciones se utilizan 3
motores11, marca Pittman GM8223 con reductor de 60.5 a 1.
• El movimiento de las articulaciones se sensa por medio del voltaje sobre tres
potenciómetros sin fin, cada uno de los cuales está acoplado mecánicamente al eje
de cada motor.
• El espacio de trabajo de la plataforma corresponde a un movimiento de 180º grados
en el plano x-y, un movimiento de 85 grados en el plano y-z utilizando la
articulación número 2 y un movimiento de 180 grados en el plano y-z utilizando la
articulación número 3.
• El primer grado de libertad corresponde al movimiento en el plano X-Y, dicho
movimiento corresponderá a un ángulo positivo si se está moviendo a su derecha y a
un ángulo negativo si se está moviendo a su izquierda como se puede observar en la
figura 20 en la que se muestra la ubicación de la plataforma para un observador
ubicado en la parte superior :
Figura 20. Ubicación en el plano X-Y de la plataforma de prueba observada desde arriba
El segundo y tercer grado de libertad corresponden a movimientos en el plano Y-Z,
dicho movimiento corresponde a un ángulo positivo si se está moviendo hacia arriba
y a un ángulo negativo si se está moviendo hacia abajo, encontrando el eje Z
positivo hacia arriba del plano, y el eje Z negativo hacia abajo del plano.
• Para la detección de obstáculos la plataforma demostrativa cuenta con 3 parejas de
ultrasonidos ubicados como se puede observar en la figura 18 (derecha, izquierda y
abajo).
Frente
Y (Negativas) Y (Positivas)
X (Negativas) X (Positivas)
• En la estrategia de cableado se tuvo en cuenta una distancia mínima de 5cm entre
los cables de los ultrasonidos transmisores y de los receptores para evitar
interferencia, además se permitió que los cables tuvieran libertad de movimiento en
cada una de las articulaciones.
• La fuente utilizada para alimentar el dspic30F2010 es de 24 voltios. En un futuro
esta fuente de alimentación será tomada del sistema de alimentación del robot móvil
4
Tarjeta de Desarrollo
4.1 Especificaciones
La tarjeta de desarrollo esta conformada por un microcontrolador dspic30F2010 el cual se
comunica con el ADC externo MCP3208 para el manejo de los ultrasonidos, además cuenta
con tres puente H L6203 para el manejo de los motores y con un manejador de línea para
la comunicación serial con el computador12(ver figura 21).
Figura 21. Diagrama en bloques tarjeta de desarrollo
El microcontrolador utilizado tiene las siguientes especificaciones13:
Modificación de la arquitectura Harvard 12 Kbytes de memoria Flash
512 bytes de memoria RAM
1 Kbyte de memoria EEPROM no volátil Registros de trabajo de 16 x 16
7 niveles de prioridad de las interrupciones internas
2 acumuladores de 40 bits de ancho con saturación lógica opcional 6 canales de salida para PWM
Modos de salida complementarios e independientes Conversor análogo digital de 10 bits
12 El esquemático de la tarjeta de desarrollo se muestra en el anexo de especificaciones
13 Para mas detalles de las especificaciones del microcontrolador ver anexo dspic30F2010Datasheet
Ucontrolador
Manejador de Línea (SN65C3221)
Puente H (L6203)
ADC (MCP3208)
Computador
Filtro Pasabajos
Motor
Ultrasonidos Potenciometros
6 canales de entrada
En la figura 22 se muestra el diagrama de pines del microcontrolador utilizado:
5
IMPLEMENTACIÓN
La plataforma de prueba utilizada para la implementación del presente proyecto posee tres
grados de libertad y su control se desarrolló en un microcontrolador dspic30F2010, dicho
control no tiene memoria, es decir, no tiene conocimiento de los puntos por los que ha
pasado haciendo necesario que las limitaciones creadas por esto se manejen por medio de
las directivas disponibles. Esta plataforma de prueba está diseñada para servir como soporte
para la detección de minas y de la plataforma móvil “Úrsula”. Por esto su funcionamiento
debe ser eficiente para poder garantizar la seguridad e integridad tanto de “Úrsula” como
de la estructura fija. Con este fin, la plataforma de prueba está conformada por 4 bloques
independientes que trabajan conjuntamente (control de posición, comunicaciones, análisis
de directivas y actualización de ultrasonidos).
El primer y fundamental bloque es “el control de posición”, siendo este responsable de la
ubicación de la plataforma demostrativa en todo momento, siempre está activo y lo único
que los demás bloques pueden modificarle es la referencia, asegurando así, que en todo
momento, la plataforma tenga una posición controlada.
El segundo bloque es el encargado de las comunicaciones de la plataforma de prueba con el
procesador central “Úrsula” a través de la UART14, dicho módulo tiene como función
principal recibir las órdenes enviadas por la plataforma móvil y transmitir la respuesta a la
directiva enviada.
El tercer bloque “Análisis de directivas” es el encargado de iniciar la ejecución de una
orden recibida. Las cuatro posibles directivas a ejecutar son:
• Home: Ordena a la plataforma ir a una posición predeterminada como Home. Cabe
anotar que antes de la ejecución de las demás directivas es necesario que la
plataforma demostrativa se encuentre en posición Home con el fin de conservar
siempre la misma referencia.
• Stop: Mediante esta directiva se detiene cualquier movimiento que este en
ejecución, permitiendo que la plataforma realice una parada de emergencia si ésta
fuera necesario.
• Scan: De acuerdo al modelo propuesto en el proyecto de investigación del
Ingeniero Javier Coronado la estrategia de barrido del terreno se realiza por
carriles los cuales están divididos en cinco celdas15. Así la exploración que realiza
la plataforma de demostración se adecua a está propuesta, ejecutando un
movimiento en línea recta con el número de celdas especificado, con el fin de
realizar la búsqueda de minas evadiendo los obstáculos que se le presenten.
• Posicionamiento absoluto: Por medio de esta directiva, la plataforma móvil puede
pedir a la plataforma demostrativa que se posicione en un punto específico en el
espacio de trabajo, es decir en los puntos donde los límites mecánicos de la
plataforma demostrativa le permitan ir. Esta directiva revisa si hay obstáculos pero
no los evade.
Por último, el cuarto bloque tiene como fin actualizar las variables utilizadas en el
programa de lectura de los ultrasonidos, que sirven para determinar si hay algún obstáculo
en el sentido del movimiento o no, evitando que la plataforma de pruebas se golpee contra
algún objeto existente mientras se encuentra ejecutando alguna de las directivas de
movimiento.
El funcionamiento de la plataforma demostrativa, se representa a continuación mediante un
diagrama de flujo en el cual se describen los 4 bloques explicados anteriormente (ver figura
23 a 27).
!" # $
% & '
Figura 27. Diagrama de flujo directiva Stop
5.1 Inicio de módulos y variables.
El programa llena y habilita una sola vez los registros necesarios en todo el proceso de
control, al igual que las interrupciones y su respectivo nivel de prioridad, a su vez se
configuran los módulos UART16 , SPI17, ADC18, PWM19, temporizador, el
16 Universal Asynchronous Receiver Transmitter 17 Serial Peripheral Interface
microcontrolador dspic30F2010 para trabajar con multiplicación fraccional y control de
saturación. Este proceso lo realiza un subprograma llamado Inicializaciones20.
En las subsecciones siguientes se explicarán detalle cada uno de estos componentes.
5.1.1 UART (UNIVERSAL ASYNCHRONOUS RECEIVER TRANSMITTER)
El módulo se habilita con el fin de proporcionar un medio de comunicación entre la
plataforma de demostración y “Úrsula”, el cual se encuentra configurado para trabajar con
8 bits de transmisión y uno de parada, con una tasa de transmisión de 9600 bps y con
interrupciones de transmisión y de recepción.
En el caso de la interrupción de transmisión, el módulo está configurado para que
interrumpa cuando transmite un carácter (8 bits), ya que la mayoría de tramas que el
módulo necesita enviar constan de un solo carácter, en la atención a subrutina de la
transmisión se borra la bandera de interrupción de la transmisión y se habilita al módulo
para una nueva transmisión.
La interrupción de la recepción está configurada para habilitarse cuando se recibe un
carácter, en esta atención a interrupción se lee el dato recibido y se limpia la bandera de
atención a interrupción. Gracias a la información brindada por esta interrupción es posible