"Control para un brazo robot colocado sobre la plataforma móvil ""Úrsula"" "

132  15  Descargar (1)

Texto completo

(1)

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

(2)

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

(3)

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

(4)

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

(5)
(6)

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.

(7)

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.

(8)

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.

(9)

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

(10)

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

(11)
(12)

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

(13)

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

(14)

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

(15)

LISTA DE ANEXOS

Anexo 1. Tablas de error en la directiva posición absoluta

Anexo 2. Generación de Trayectorias

Anexo 3. Programas Desarrollados

(16)

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

(17)

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.

(18)

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.

(19)

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.

(20)

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.

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

(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

(28)

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

(29)

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:

(30)

− + = 1 0 0 0 0 ) cos( ) 90 cos( 0 0 ) 90 cos( ) cos( 0 0 0 0 1 ) , (

α

α

α

α

α

x

Rot (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( ) , (

α

β

β

β

β

y

Rot (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( ) , (

γ

γ

γ

γ

γ

z

Rot (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

(31)

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

(32)

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

(33)

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

(34)

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

(35)

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.

(36)

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

(37)

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

=

(38)

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

(39)

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

(40)

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 cortaran

en 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 si

se 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,

(41)

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 que

produce 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,

(42)

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

(43)

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

(44)

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 zi1 entre el origen del sistema i-1 y la

intersección de los ejes xi y zi1.

α

icomo ángulo entre zi1 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

(45)

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(zi1,di)*Rot(zi1i)*Rot(xii)*Tras(xi,ai)

(46)

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)

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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

(52)

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

(53)

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)

(54)

• 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

(55)

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

(56)

6 canales de entrada

En la figura 22 se muestra el diagrama de pines del microcontrolador utilizado:

(57)

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

(58)

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

(59)

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

(60)
(61)
(62)
(63)

!" # $

% & '

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

(64)

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

Figure

Figura 2. Ejemplo de articulaciones de 1 y 2 grados de libertad

Figura 2.

Ejemplo de articulaciones de 1 y 2 grados de libertad p.21
figura 3.

figura 3.

p.22
Figura 5. Posición de un sistema O respecto a otro M

Figura 5.

Posición de un sistema O respecto a otro M p.23
Figura 4.

Figura 4.

p.23
Figura 8. Coordenadas Esféricas

Figura 8.

Coordenadas Esféricas p.25
Figura 12. Articulaciones

Figura 12.

Articulaciones p.36
Figura 14. Parametros de Denavit-Hartenberg

Figura 14.

Parametros de Denavit-Hartenberg p.39
Figura 18a. Eslabones y piñones

Figura 18a.

Eslabones y piñones p.51
Figura 19.

Figura 19.

p.52
Figura 23. Diagrama de flujo inicialización del programa

Figura 23.

Diagrama de flujo inicialización del programa p.59
Figura 24. Diagrama de flujo directiva Scan

Figura 24.

Diagrama de flujo directiva Scan p.60
Figura 25. Diagrama de flujo directiva posición absoluta

Figura 25.

Diagrama de flujo directiva posición absoluta p.61
Figura 26. Diagrama de flujo directiva Home

Figura 26.

Diagrama de flujo directiva Home p.62
Figura 27. Diagrama de flujo directiva Stop

Figura 27.

Diagrama de flujo directiva Stop p.63
Tabla No.4.  Tramas de comunicación

Tabla No.4.

Tramas de comunicación p.82
Figura 32. Diagrama de flujo de rutina de evasión de obstáculos

Figura 32.

Diagrama de flujo de rutina de evasión de obstáculos p.85
Figura 33. Diagrama de flujo de evaluación de obstáculos a la derecha

Figura 33.

Diagrama de flujo de evaluación de obstáculos a la derecha p.86
Figura 34. Diagrama de flujo de evaluación de obstáculos a la izquierda

Figura 34.

Diagrama de flujo de evaluación de obstáculos a la izquierda p.87
Figura 36. Sistemas de Referencia plataforma de prueba

Figura 36.

Sistemas de Referencia plataforma de prueba p.91
Tabla No.5. Parámetros de Denavit-Hartenberg

Tabla No.5.

Parámetros de Denavit-Hartenberg p.92
Figura 38. Ángulos 2 y 3 Cinematica Inversa para z>16

Figura 38.

Ángulos 2 y 3 Cinematica Inversa para z>16 p.96
Figura 39. Ángulos 2 y 3 cinematica inversa para z<16

Figura 39.

Ángulos 2 y 3 cinematica inversa para z<16 p.97
Figura 48. Prueba sobre la directiva Home “Recepcion de datos”.

Figura 48.

Prueba sobre la directiva Home “Recepcion de datos”. p.104
Figura 50. Interfaz gráfica

Figura 50.

Interfaz gráfica p.105
Figura 49. Prueba sobre la directiva posicion absoluta “Recepcion de datos”.

Figura 49.

Prueba sobre la directiva posicion absoluta “Recepcion de datos”. p.105
Figura 51. Prueba “Diferentes distancias  sobre el mismo material”.

Figura 51.

Prueba “Diferentes distancias sobre el mismo material”. p.107
Figura 62. Gráfica de error de ángulo sobre la articulacion 2.

Figura 62.

Gráfica de error de ángulo sobre la articulacion 2. p.116
Figura 67. Resultados posición z

Figura 67.

Resultados posición z p.121
Figura 68. Obstáculo No 1

Figura 68.

Obstáculo No 1 p.124
Figura 69. Obstáculo No 2

Figura 69.

Obstáculo No 2 p.124

Referencias

Actualización...