• No se han encontrado resultados

Diseño e implementación del mando de control de un brazo robótico

N/A
N/A
Protected

Academic year: 2020

Share "Diseño e implementación del mando de control de un brazo robótico"

Copied!
72
0
0

Texto completo

(1)

Proyecto de Grado

Dise˜

no e Implementaci´

on del Mando de

Control de un Brazo Rob´

otico

Autor:

Diego Camelo Martinez

Asesor: Dr. Carlos Francisco Rodriguez

Proyecto de grado presentado para obtener el t´ıtulo de Ingeniero Mec´anico

del

Departamento de Ingenier´ıa Mec´anica

Universidad de Los Andes

(2)

Yo, Diego Camelo Martinez, declaro que este proyecto de grado titulado, ’Dise˜no e

Implementaci´on del Mando de Control de un Brazo Rob´otico’ y el trabajo presentado

en este son m´ıos.

Adem´as confirmo que:

En caso de haber consultado el trabajo de otras personas, este ser´a referenciado

adecuadamente.

Se har´a una menci´on agradeciendo a todas las personas que colaboraron en este

proyecto.

Las im´agenes presentadas pertenecientes a otros trabajos, libros, revistas y art´ıculos

ser´an referenciadas adecuadamente; todas las im´agenes fueron tomadas con fines

netamente acad´emicos y se utilizan ´unicamente para ilustrar conceptos.

Firma:

Fecha:

(3)
(4)

Resumen

Facultad de Ingenier´ıa

Departamento de Ingenier´ıa Mec´anica

Dise˜no e Implementaci´on del Mando de Control de un Brazo Rob´otico

Estudiante: Diego Camelo Martinez, 201022946, dm.camelo417@uniandes.edu.co

Asesor: Dr. Carlos Francisco Rodriguez Herrera

En este proyecto de grado se trabaj´o sobre el brazo rob´otico del rover Deimos del grupo

estudiantil Robocol. Este brazo fue dise˜nado y manufacturado en el marco de un

prob-lema especial en el primer semestre de 2014, por Diego Camelo con la colaboraci´on de

Hayden Liu Weng y Juan Sebastian Ruiz Medina bajo la asesor´ıa de Juan Pablo Barreto

Melgarejo.

El brazo rob´otico cuenta con seis grados de libertad actuado por un motorreductor en

la rotaci´on de la base; dos actuadores lineales para el movimiento del brazo principal

y el antebrazo; y tres servomotores para la rotaci´on e inclinaci´on de la mu˜neca y la

abertura y cierre de las pinzas. Dependiendo de las tareas a realizar por parte del brazo

se requiere tener un mando de control que sea intuitivo y c´omodo para el cumplimiento

eficaz y eficiente de las mismas.

Las tareas a realizar por parte del brazo rob´otico se presentan bajo el marco del European

Rover Challenge 2014, se deben realizar tareas de carga, manipulaci´on de objetos y

recolecci´on de muestras. En cada una de las pruebas el brazo cuenta con diferentes

accesorios para la realizaci´on de las tareas, el mando de control debe tener en cuenta

esto y debe ser dise˜nado para realizar las diferentes instrucciones de medio nivel, que

permiten cumplir con las tareas de la competencia. Las instrucciones de medio nivel

definen el algoritmo de soluci´on para realizar cada una de las pruebas.

Como mandos de control en rob´otica existen distintas alternativas: interfaces gr´aficas,

prototipos a escala, interfaces naturales de usuario (e.g. Kinect), controles de mando

comerciales (Xbox, PS, etc.), entre otros. Para evaluar las alternativas se tuvo en cuenta

el costo, la simplicidad, la intuitividad y la robustez. En este proyecto de grado se le dar´a

importancia ´unicamente a la simplicidad y la intuitividad en el desarrollo del mando. A

(5)

A partir de la definici´on de las instrucciones de medio nivel que debe realizar el brazo

para cada una de las pruebas, se observ´o que es de gran importancia generar trayectorias

en linea recta y contar con una serie de comandos r´apidos para llegar a posiciones

preestablecidas. Teniendo en cuenta lo anterior, el mando de control a dise˜nar debe

contar con una instrucci´on de cinem´atica inversa y la manipulaci´on individual de los

dem´as grados de libertad, como lo son: la rotaci´on de la base, la rotaci´on de la mu˜neca

y la apertura y cierre de las pinzas.

El brazo rob´otico del rover Deimos en el momento de desarrollo de este proyecto no

se encontraba en condiciones de ser sujeto de pruebas del mando de control a dise˜nar.

Por esta raz´on, se decidi´o enfocar el proyecto de grado en la implementaci´on simulada

del mando de control. Fue necesario adquirir conocimientos de adquisici´on de datos

por medio de una tarjeta Arduino Uno y un manejo del entorno de Simmechanics de

Simulink; en estos, se realiz´o la simulaci´on e implementaci´on los algoritmos de manejo

de cada uno de los grados de libertad, por medio de funciones de Matlab y diagramas

de bloques en Simulink.

Luego de haber implementado la adquisici´on de datos y la simulaci´on en SimMechanics,

se procedi´o a dise˜nar la distribuci´on de componentes en el chasis del mando de control,

as´ı como la funci´on de cada uno de los elementos. Teniendo en cuenta las restricciones

planteadas a nivel del prototipo y de los comandos establecidos, se dise˜naron tres

pro-totipos en MDF para evaluar la configuraci´on del mando de control. En cada una de las

alternativas se cuenta con la presencia de palancas tipo arcade y potenci´ometros lineales

distribuidos de manera diferente en el mando de control, el objetivo de crear

alterna-tivas de configuraci´on para el mando de control, es evaluar por medio de un protocolo

de pruebas, una matriz de calificaci´on y sujetos de prueba, cual es la configuraci´on mas

adecuada para cumplir con las tareas planteadas.

Para el protocolo de pruebas se le solicit´o a los usuarios seguir una trayectoria ilustrada

en un video ejemplo y repetirla cinco veces. Como criterios de comparaci´on principales,

se tomaron el tiempo inicial y la tasa de aprendizaje; por otro lado, la intuitividad,

co-modidad, velocidad y precisi´on fueron criterios secundarios y se evaluaron en una escala

de 1 a 10. De los seis criterios tomados, se observ´o que la velocidad y precisi´on no eran

buenos referentes pues estas variables dependen de la programaci´on y los componentes

electr´onicos. De los criterios restantes se observaron buenos resultados y todos

indi-caron que la mejor alternativa consist´ıa en el uso de una palanca tipo arcade para los

(6)

para el movimiento de los seis grados de libertad del brazo: una palanca que controla el

movimiento en el plano XZ del brazo; tres potenci´ometros para la rotaci´on de la base, la

orientaci´on y la rotaci´on de la mu˜neca; y un potenci´ometro de corredera para la apertura

y cierre de las pinzas. Adem´as de esto, cuenta con dos botones de comando r´apido para

ubicar el brazo en posiciones de trabajo o movimiento y un interruptor que cambia los

comandos de la palanca: de coordenadas de la base a coordenadas de la herramienta.

Por ´ultimo, se realizaron experimentos para caracterizar el mando de control: se recre´o

una trayectoria y se repiti´o el proceso cinco veces. Los resultados obtenidos son poco

dicientes pues es necesario implementar el mando en el brazo real y poder observar su

desempe˜no en contraste con el control comercial antes utilizado.

Como trabajo futuro se propone la implementaci´on del mando en el brazo del rover de

Robocol o en general en cualquier brazo rob´otico similar. El prototipo puede ser

mejo-rado significativamente desde el enfoque del dise˜no industrial mejorando su robustez, su

ergonom´ıa y la intuitividad. A nivel electr´onico los algoritmos aqu´ı ejecutados en Matlab

y Simulink deben ser programados en una tarjeta de desarrollo embebida distinta a la

utilizada en este proyecto de grado para poder implementar el mando en un brazo real.

En este proyecto de grado se logr´o dise˜nar e implementar en simulaci´on un control

de mando que facilita la ejecuci´on de las tareas exigidas para el brazo rob´otico del

rover Deimos en el marco del European Rover Challenge 2014. Este mando puede ser

mejorado significativamente y debe ser implementado en un brazo real para verificar su

(7)

Le agradezco a Dios por darme un camino para seguir, a mis pap´as por las oportunidades

que me han dado y a mi asesor Carlos Francisco Rodr´ıguez por su gu´ıa en el desarrollo

de este proyecto.

(8)

Declaraci´on de Propiedad i

Resumen iii

Agradecimientos vi

Contenidos vii

Lista de Figuras x

Lista de Tablas xii

S´ımbolos xiii

1 Introducci´on 1

1.1 Motivaci´on . . . 1

1.2 Marco Te´orico. . . 3

1.2.1 Manipulador Serial de 6GDL . . . 4

1.2.2 Cinem´atica Directa y Par´ametros D-H . . . 5

1.2.3 Cinem´atica Inversa . . . 6

1.2.4 Cinem´atica Diferencial . . . 9

1.2.5 Control Teleoperado . . . 10

1.3 Trabajo Previo . . . 11

1.3.1 Telerob´otica. . . 11

1.3.2 Robocol . . . 13

1.4 Definici´on del Proyecto. . . 14

1.4.1 Objetivos . . . 14

1.4.1.1 Objetivo General. . . 14

1.4.1.2 Objetivos Espec´ıficos . . . 15

1.4.2 Restricciones . . . 15

1.4.3 Requerimientos . . . 15

1.4.4 Alcance . . . 15

2 Alternativas de Soluci´on 16 2.1 Criterios de Decisi´on . . . 16

2.2 Alternativas de Soluci´on . . . 17

(9)

2.2.1 Imitaci´on de Prototipo . . . 17

2.2.2 Interfaz Gr´afica . . . 17

2.2.3 Interfaz Natural de Usuario . . . 19

2.2.4 Control de Mando Comercial . . . 19

2.2.5 Control de Mando Simplificado . . . 20

2.3 Toma de Decisi´on. . . 21

3 Procesamiento y Simulaci´on 23 3.1 Conexiones . . . 23

3.1.1 Entrada Digital . . . 23

3.1.2 Entrada An´aloga . . . 24

3.2 Adquisici´on de los Datos y Comunicaci´on Serial . . . 24

3.3 Lectura Serial . . . 26

3.4 Decodificaci´on. . . 26

3.5 SimMechanics . . . 27

4 Dise˜no de la Configuraci´on 29 4.1 Alternativas de Configuraci´on . . . 30

4.2 Protocolo de Pruebas. . . 31

4.3 Resultados de las Pruebas . . . 32

4.4 Mismo Sujeto de Pruebas . . . 32

5 Construcci´on e Implementaci´on 34 5.1 Componentes a Utilizar . . . 34

5.2 Diagrama de Bloques Hardware . . . 34

5.3 Dise˜no CAD y Construcci´on . . . 35

5.3.1 Dise˜no CAD . . . 35

5.3.2 Construcci´on . . . 35

5.4 Diagrama de Bloques Software . . . 37

5.4.1 Adquisici´on de Datos. . . 38

5.4.2 Decodificaci´on . . . 38

5.4.3 Procesamiento . . . 39

5.4.4 Simulaci´on . . . 39

6 Conclusiones y Trabajo Futuro 42 6.1 Conclusiones . . . 42

6.2 Trabajo Futuro . . . 42

A Resultados de las Pruebas 46 B Codigo Arduino Uno 48 C Simulaci´on en SimMechanics 51 C.1 Decodificaci´on. . . 51

C.1.1 Diagrama de Bloques . . . 51

C.1.2 C´odigo . . . 52

(10)
(11)

1.1 Mercado Mundial de la Rob´otica [1]. . . 2

1.2 Rover Deimos del grupo Robocol. . . 3

1.3 CAD del brazo rob´otico con 5 GDL. . . 3

1.4 Esquema de los Grados de Libertad del Brazo [2].. . . 4

1.5 Par´ametros D-H [3]. . . 6

1.6 Brazo de 3GDL [4]. . . 7

1.7 Dos posibles soluciones a la cinem´atica inversa [4]. . . 9

1.8 Esquema de un Sistema Teleoperado [5]. . . 10

1.9 Mano Rob´otica y Guante de Control [6]. . . 12

1.10 Control natural y control preciso [7]. . . 12

1.11 Esquema del Brazo Rob´otico del Rover Deimos.. . . 14

2.1 Alternativa 1: Brazo operacional que maneja el brazo del rover. . . 17

2.2 Simulaci´on del Brazo de Robocol, posici´on inicial.. . . 18

2.3 Simulaci´on del Brazo de Robocol, posici´on final. . . 18

2.4 Interfaz Natural de Usuario (NUI) [8]. . . 19

2.5 Control de Xbox cl´asico con un costo de 75 USD [9]. . . 20

2.6 Control tipo arcade [10]. . . 20

3.1 Conexi´on de una entrada digital [11]. . . 24

3.2 Potenci´ometro y Salida An´aloga [12]. . . 24

3.3 Tarjeta Arduino Uno[13]. . . 25

3.4 Ambiente de Programaci´on de Arduino. . . 25

3.5 Bloque Query para Lectura Serial. . . 26

3.6 Decodificaci´on de los Datos. . . 27

3.7 CAD del Brazo Rob´otico con 4 GDL.. . . 27

3.8 Diagrama de Bloques con SimMechanics de 1GDL . . . 28

4.1 Alternativa de componentes [14]. . . 29

4.2 Alternativa de componentes.. . . 30

4.3 Conexiones Provisionales. . . 31

4.4 Trayectoria del protocolo de pruebas. . . 31

5.1 Diagrama de Bloques Hardware. . . 35

5.2 Dise˜no en Autodesk Inventor del mando de Control. . . 35

5.3 Vista desde la diagonal izquierda. . . 36

5.4 Vista desde la diagonal derecha.. . . 36

5.5 Vista Superior. . . 37

5.6 Diagrama de Bloques en Simulink. . . 37

(12)

5.7 Las dos palabras enviadas por el Arduino. . . 38

5.8 Movimiento de q1. . . 39

5.9 Movimiento de la orientaci´on. . . 40

5.10 Rotaci´on de la Mu˜neca. . . 40

5.11 Apertura y Cierre de las Pinzas. . . 40

5.12 Movimiento rectil´ıneo en el X global. . . 41

5.13 Movimiento rectil´ıneo en el Z global. . . 41

5.14 Movimiento rectil´ıneo en el X de la herramienta. . . 41

C.1 Decodificaci´on de los datos. . . 51

(13)

1.1 Peso, Dimensiones y Rangos de los GDL del Brazo Rob´otico. . . 14

2.1 Par´ametros D-H del brazo rob´otico de Robocol. . . 18

2.2 Matriz de alternativas y criterios. . . 21

2.3 Maximas diferencias en los criterios. . . 21

2.4 Matriz de concordancias.. . . 21

2.5 Matriz de concordancias.. . . 22

2.6 Matriz de decisi´on. . . 22

4.1 Resultados de las Pruebas.. . . 32

4.2 Comparaci´on entre Alternativas. . . 33

A.1 Resultados de la Alternativa 1. . . 46

A.2 Resultados de la Alternativa 2. . . 46

A.3 Resultados de la Alternativa 3. . . 47

(14)

a Par´ametro D-H m

c Coseno

d Par´ametro D-H m

J Matriz Jacobiana

s Seno

T Matriz de transformaci´on homog´enea

α Par´ametro D-H rad

θ Par´ametro D-H rad

φ Orientaci´on de la herramienta rad

(15)

Introducci´

on

1.1

Motivaci´

on

La palabra robot proviene del checo robota que significa trabajo [15], este concepto se desarroll´o con la ciencia ficci´on donde se estereotipaba a los robots como humanoides,

estos conceptos adem´as de ser poco dicientes distan mucho de las definiciones actuales de

robot: hoy en d´ıa se puede definir un robot como una m´aquina que cuenta con sistemas

de noci´on, control y acci´on [16].

En el marco global, el mercado de la rob´otica tiene un valor de $24.9B USD en el 2010,

los pa´ıses l´ıderes en el mercado son: Estados Unidos, Jap´on, Alemania, China y Corea

del Sur [17]. En la figura 1.1 se puede observar la evoluci´on del mercado adem´as de la clasificaci´on por sectores: la industria manufacturera desarroll´o la rob´otica, sin embargo,

con el transcurso del tiempo, los robots de servicio empiezan a cobrar importancia

representando alrededor del 68 % del mercado ($17.1B USD) en el 2010. Los robots

de servicio pueden ser de uso profesional o personal, de los $17.1B USD de ventas de

robots de servicio, el 77% ($13.2 USD) es de uso profesional; de este valor, alrededor

del 30% corresponde a aplicaciones de defensa (23 mil unidades) y 4% en aplicaciones

de seguridad y rescate (3 mil unidades)[18], sectores que son de inter´es para observar el campo de aplicaci´on del robot a manejar en este proyecto de grado.

Como se mencion´o antes, la industria manufacturera impuls´o el mercado de los robots.

Los robots industriales son m´aquinas programables multifuncionales que usualmente son

utilizadas para realizar tareas peligrosas y/o repetitivas como la manipulaci´on de

ma-terial, el ensamble, la soldadura, el maquinado, entre otras[19]. Adem´as de estos, los robots m´oviles permiten una mayor flexibilidad al poder desplazarse en el espacio,

per-mitiendo realizar diversas tareas operadas a distancia en el sector de defensa y seguridad

que es de inter´es para este proyecto.

(16)

Figura 1.1: Mercado Mundial de la Rob´otica [1].

El grupo estudiantil Robocol es un grupo interdisciplinario de la Universidad de los

Andes que tiene como misi´on fomentar el inter´es por la tecnolog´ıa y la rob´otica en

Colombia. Este grupo se cre´o en el 2010 bajo la iniciativa de unos estudiantes de

ingenier´ıa mec´anica y ha participado desde entonces en el concurso de Lunabotics Mining

Competition de la NASA en tres ocasiones, logrando un cuarto puesto en el 2013. En

el a˜no 2014 el grupo Robocol particip´o en el European Rover Challenge cambiando

totalmente el dise˜no del robot de excavaci´on que usaron en la NASA. En este caso se

present´o un rover de exploraci´on capaz de realizar tareas de asistencia, excavaci´on y

mantenimiento en tiempo reducido en un terreno similar al de la superficie de Marte,

bajo condiciones clim´aticas de temperatura ambiente y posible lluvia ligera, el rover se

puede observar en la figura1.2. El concurso se llev´o a cabo a principios de Septiembre en

Polonia y se propone como proyecto de grado mejorar el mando de control para futuros

concursos o para usar el rover en otro tipo de tareas en el sector de defensa y seguridad

(e.g. desactivaci´on de minas antipersonas).

Teniendo en cuenta la destreza requerida de las operaciones a realizar, se presenta la

necesidad de tener una manipulaci´on que sea intuitiva para realizar las tareas de manera

adecuada. Se propone el dise˜no e implementaci´on de un mando de control teleoperado

para el brazo rob´otico de seis grados de libertad del rover del grupo estudiantil Robocol

que se observa en la figura 1.3.

En el desarrollo de este documento se presentar´a todo el proceso de dise˜no del mando

de control: la evaluaci´on de alternativas, una explicaci´on de la adquisici´on de datos,

manejo y simulaci´on, el dise˜no en detalle del prototipo, las pruebas para verificar su

(17)

Figura 1.2: Rover Deimos del grupo Robocol.

Figura 1.3: CAD del brazo rob´otico con 5 GDL.

1.2

Marco Te´

orico

Para comprender la mec´anica y el control de un brazo rob´otico hay que definir ciertos

conceptos que permiten observar la importancia del estado del arte para el desarrollo de

este trabajo de grado. El brazo rob´otico sobre el que se va a trabajar es un manipulador

(18)

1.2.1 Manipulador Serial de 6GDL

Un manipulador cuenta con eslabones y uniones y lo que hace que sea serial es el hecho

de que sus eslabones y uniones se presentan en forma de cadena sin mostrar ning´un

bucle en su estructura. El manipulador se considera articulado debido a que las uniones

de su brazo,antebrazo y mu˜neca son de revoluta [4]. Los grados de libertad representan

el n´umero de par´ametros independientes que se necesitan para describir la configuraci´on

del mecanismo completamente. Usualmente el n´umero de uniones actuadas es igual a

los grados de libertad por lo que se necesitan seis actuadores en el brazo rob´otico.

Un manipulador serial presenta ventajas en el volumen de trabajo y la destreza de sus

operaciones [4]. El volumen de trabajo es aquel en el que todos los puntos pueden ser

cubiertos por el efector final en al menos una orientaci´on y el volumen de trabajo de

destreza requiere alcanzar todos los puntos en cualquier orientaci´on.

Figura 1.4: Esquema de los Grados de Libertad del Brazo [2].

En la figura 1.4 se pueden observar los grados de libertad que presenta el robot, dado que tiene seis grados de libertad se necesitan seis actuadores para mover el brazo, estos

ser´an explicados en detalle cuando se explique el trabajo previo realizado por parte del

grupo Robocol.

Para la selecci´on de alternativas de soluci´on, desarrollo del prototipo y trabajo futuro es

necesario comprender los conceptos de cinem´atica directa, par´ametros D-H, cinem´atica

(19)

1.2.2 Cinem´atica Directa y Par´ametros D-H

La cinem´atica directa tiene como objetivo determinar la ubicaci´on y orientaci´on de la

herramienta a partir de la informaci´on de las uniones del manipulador. La cinem´atica

contempla la posici´on, velocidad y aceleraci´on como entradas mientras que la din´amica

toma las fuerzas y torques de las uniones.

Uno de los m´etodos mas comunes utilizados en rob´otica hace uso de los par´ametros de

Denavit-Hartenberg. Para determinar la cinem´atica directa de un brazo con 6 GDL

es necesario contar con 6n par´ametros conocidos, sin embargo los par´ametros de D-H

permiten realizar una transformaci´on entre uniones con solo cuatro par´ametros, siempre

y cuando se cumplan ciertas reglas al momento de ubicar los marcos de referencia [3].

La matriz de transformaci´on que hace uso de estos par´ametros se construye a partir de

la multiplicaci´on de cuatro matrices homog´eneas1: una traslaci´on en el ejezseguido de

una rotaci´on en el ejez, una traslaci´on en el eje x y una rotaci´on en el eje x como se

observa en la ecuaci´on (1.1), donde d y a son distancias y θ y α son ´angulos. En la ecuaci´on (1.2) se observa la matriz de tranformaci´on resultante al multiplicar las cuatro

matrices mencionadas.

i−1A

i =T(z, d)T(z, θ)T(x, a)T(x, α) (1.1)

i−1A

i=       

cθi −cαisθi sαi aicθi

sθi cαicθi −sαi aisθi

0 sαi cαi di

0 0 0 1

       (1.2)

En las ecuaciones (1.1) y (1.1) d,θ,a yα son los par´ametros de Denavit-Hartenmberg y se pueden observar graficamente en la figura1.5 .

• d: distancia entre el cruce de los vectores xi yzi al origen del eslab´oni.

• θ: angulo de rotaci´on de la uni´on.

• a: distancia entre entre los ejes de rotaci´on de dos eslabones consecutivos.

• α: ´angulo entrezi−1 yzi medido con respecto axi−1.

(20)

Figura 1.5: Par´ametros D-H [3].

Haciendo uso de los par´ametros de Denavit-Hartenberg se puede realizar la cinem´atica

directa al hacer uso de la matriz homog´enea de transformaci´on desde las coordenadas

de base hasta las coordenadas de la herramienta.

En la ecuaci´on (1.3) podemos observar la matriz de transformaci´on mencionada. Los

vectoresu, vywdeterminan la orientaci´on de la herramienta yqla posici´on de un punto

de referencia Q [3]. Esta matriz se puede multiplicar por un vector0pˆen coordenadas

de la base para obtener un vector 6pˆen coordenadas de la herramienta.

0A

n=

"

u v w q

0 0 0 1

#

=T01(θ1)...Tn−1,n(θn) (1.3)

Los par´ametros de Denavit-Hartenberg ser´an necesarios en la evaluaci´on de una de las

alternativas de soluci´on que se presentan mas adelante en el documento.

1.2.3 Cinem´atica Inversa

El problema de la cinem´atica inversa consiste en determinar los ´angulos necesarios para

obtener una orientaci´on y posici´on de la herramienta dadas, la din´amica inversa

pre-tende calcular las fuerzas y torques requeridos en las uniones para causar movimientos

deseados. En el caso de los manipuladores seriales la cinem´atica inversa puede tener

m´ultiples soluciones, en este proyecto de grado se requiere calcular la cinem´atica inversa

´

unicamente de los grados de libertad 2 al 4 (brazo, antebrazo y mu˜neca), debido a que

las trayectorias a realizar no lo demandan, el problema se reduce a un manipulador serial

(21)

Figura 1.6: Brazo de 3GDL [4].

En el caso de un robot serial de 3GDL la matriz de transformaci´on de la base a la

herramienta se puede obtener f´acilmente al hacer uso de los par´ametros D-H, la matriz

resultante se observa en la matriz izquierda de la ecuaci´on (1.4), esta se debe igualar a la matriz de la derecha donde φ=θ1+θ2+θ3 representa la orientaci´on de la herramienta

yqx yqy las componentes del puntoQ [4].

0A 3 =       

cθ123 −sθ123 0 a1cθ1+a2cθ12+a3cθ123

sθ123 cθ123 0 a1sθ1+a2sθ12+a3sθ123

0 0 1 0

0 0 0 1

       =       

cφ −sφ 0 qx

sφ cφ 0 qy

0 0 1 qz

0 0 0 1

       (1.4)

El igualar las dos matrices y despejar paraθ1, θ2yθ3en funci´on deφ,qx yqy, obtenemos

el siguiente set de ecuaciones [4]:

(22)

θ2 = cos−1k (1.6)

θ3=φ−θ2−θ1 (1.7)

Donde,

sθ1 =

−pxa2s θ2+py(a1+a2cθ2)

∆ (1.8)

cθ1 =

px(a1+a2cθ2) +pya2sθ2

∆ (1.9)

∆ =a12+a22+ 2a1a2cθ2 (1.10)

px=qx−a3cφ (1.11)

py =qy−a3sφ (1.12)

k= p 2

x+p2y−a21−a22 2a1a2

(1.13)

La ecuaci´on (1.13) tiene gran importancia al entregar informaci´on valiosa de la soluci´on del problema: cuando |k| > 1 la posici´on no es alcanzable y si |k| = 1 el brazo se encuentra completamente estirado [4]. En el caso donde|k|<1 se obtienen dos posibles soluciones, conocidas como codo arriba o codo abajo, en el caso de este proyecto es de

inter´es ´unicamente la primera soluci´on debido a la construcci´on f´ısica del brazo del grupo

(23)

Figura 1.7: Dos posibles soluciones a la cinem´atica inversa [4].

1.2.4 Cinem´atica Diferencial

El objetivo de la cinem´atica diferencial consiste en encontrar la relaci´on entre las

veloci-dades de la herramienta y las de las uniones. En la cinem´atica directa se desean

encon-trar las velocidades de la herramienta a partir de las de las uniones y en la cinem´atica

inversa se desean encontrar las velocidades de las uniones a partir de las de la

her-ramienta. A diferencia del an´alisis de posici´on, en el an´alisis de velocidad se puede

obtener la cinem´atica inversa de manera ´unica y sencilla.

Si se define la variablexi=fi(q1, q2, q3, q4, q5, q6), la matriz Jacobiana para un brazo de

6GDL se puede definir como se observa en la ecuaci´on (1.14) y (1.15). Como se puede observar, una de las funciones de la matriz Jacobiana es la relaci´on de las velocidades

de las uniones con las velocidades en la herramienta.

            ˙ x1 ˙ x2 ˙ x3 ˙ x4 ˙ x5 ˙ x6             =             ∂f1 ∂q1 ∂f1 ∂q2 ∂f1 ∂q3 ∂f1 ∂q4 ∂f1 ∂q5 ∂f1 ∂q6 ∂f2 ∂q1 ∂f2 ∂q2 ∂f2 ∂q3 ∂f2 ∂q4 ∂f2 ∂q5 ∂f2 ∂q6 ∂f3 ∂q1 ∂f3 ∂q2 ∂f3 ∂q3 ∂f3 ∂q4 ∂f3 ∂q5 ∂f3 ∂q6 ∂f4 ∂q1 ∂f4 ∂q2 ∂f4 ∂q3 ∂f4 ∂q4 ∂f4 ∂q5 ∂f4 ∂q6 ∂f5 ∂q1 ∂f5 ∂q2 ∂f5 ∂q3 ∂f5 ∂q4 ∂f5 ∂q5 ∂f5 ∂q6 ∂f6 ∂q1 ∂f6 ∂q2 ∂f6 ∂q3 ∂f6 ∂q4 ∂f6 ∂q5 ∂f6 ∂q6                         ˙ q1 ˙ q2 ˙ q3 ˙ q4 ˙ q5 ˙ q6             (1.14) ˙

x=Jq˙ (1.15)

(24)

• Definir el espacio de trabajo del robot.

• Identificar singularidades 2.

• M´etodos num´ericos para calcular la cinem´atica inversa.

• Manipulabilidad del robot 3.

De la lista anterior, el hecho de que la cinem´atica diferencial puede resolver la cinem´atica

inversa por m´etodos num´ericos resulta de gran inter´es para este proyecto. En este

proyecto de grado se va a trabajar con la cinem´atica inversa por medio de un an´alisis de

posici´on cl´asico pero una soluci´on num´erica puede ser un trabajo futuro a considerar.

1.2.5 Control Teleoperado

La telerob´otica es un campo reciente de la rob´otica y significa literalmente rob´otica a

distancia [5]. El control del robot lo hace un operador humano y el objetivo es alejar el cerebro del cuerpo, esto resulta de gran utilidad en aplicaciones de alto riesgo para el

usuario [6]. Como se puede observar en la figura 1.8 el operador se encuentra alejado del robot, cuenta con retroalimentaci´on y el robot cuenta con sensores para obtener la

informaci´on necesaria por el operador.

Figura 1.8: Esquema de un Sistema Teleoperado [5].

2

Configuraciones donde la movilidad del mecanismo se reduce, la cinematica inversa tiene infinitas soluciones [20].

3

La manipulabilidad se puede entender como la capacidad de cambio de posici´on y orientaci´on para una configuraci´on espec´ıfica. [20].

(25)

1.3

Trabajo Previo

El trabajo previo necesario para este proyecto se va a dividir en dos partes: la primera

se centra en explicar los antecedentes de la rob´otica, trabajos internos y externos; y la

segunda en los antecedentes del grupo estudiantil Robocol para llegar a ver en detalle

las caracter´ısticas del brazo rob´otico a manipular.

1.3.1 Telerob´otica

La telerob´otica tiene sus inicios en la decada de los 50s cuando Raymond C.Goertz

cre´o sistemas mec´anicos para manejar material radioactivo desde atr´as de muros

blinda-dos. Posterior a esto, Goertz le incluy´o a el sistema mec´anico manipuladores el´ectricos,

iniciando lo que se conoce hoy en d´ıa como telerob´otica. En la decada de los 60s se

observaron los efectos del delay en los sistemas teleoperados por lo que se introdujo el

control supervisorio y a partir de esto la telerob´otica se desarroll´o significativamente en

aplicaciones con ambientes hostiles para el humano y cirug´ıa no invasiva [5].

A nivel interno, se ha trabajado principalmente desde los departamentos de Electr´onica

y Sistemas y Computaci´on. En el primero, en el curso de rob´otica IELE-3338 del primer

semestre del 2014 se trabaj´o en el control teleoperado de un brazo rob´otico comercial

marca Stern por reconocimiento de imagen. En el segundo, se desarroll´o el sistema

rob´otico teleoperado de una plataforma m´ovil por captura de movimiento por parte de

los estudiantes Juan Sebasti´an M´endez y Luis Eduardo Salazar en el a˜no 2010.

A nivel externo se encuentran muchos articulos de robots teleoperados, en su gran

mayor´ıa con aplicaciones medicas o industriales, aqu´ı se explicaran dos art´ıculos que

permiten comprender conceptos importantes para el desarroll´o de la soluci´on.

El primer art´ıculo [6], escrito por investigadores del Harbin Institute of Technology (China), ilustra el control teleoperado de un brazo y mano rob´otica. El usuario cuenta

con un guante que sensa los movimientos de su mano y un visor que permite incluir

telepresencia al sistema, de igual forma el robot cuenta con sensores de fuerza que

permiten al usuario sentir una reacci´on debido al uso del guante, los dispotisivos se

(26)

Figura 1.9: Mano Rob´otica y Guante de Control [6].

El segundo art´ıculo [7], escrito por investigadores de la Universidad de Saga (Jap´on) implementa dos tipos de control teleoperados para el control de un brazo rob´otico:

control por medio de un brazo operacional y control preciso por posici´on. La diferencia

de estas dos t´ecnicas se centra en que el movimiento generado por la primera depende

de la destreza del operador, en la segunda estrategia se presentan movimientos mas

precisos. La arquitectura de las dos t´ecnicas se puede observar en la figura1.10.

(27)

1.3.2 Robocol

Robocol es una iniciativa estudiantil que naci´o en el a˜no 2010 con el objetivo de

fo-mentar el desarrollo de la rob´otica en Colombia. Ha participado en tres ocasiones en

el Lunabotics Mining Competition de la NASA, desde el a˜no 2011 hasta el 2013. Los

siguientes estudiantes presentaron proyectos de grado relacionados a esta competencia:

Juan Sebasti´an Mac´ıas trabaj´o en la suspensi´on para el robot de la edici´on del 2012, el

estudiante Carlos Roso trabaj´o en la autonom´ıa del robot del 2013 y el estudiante David

Ricardo Arevalo estudio el mecanismo de elevaci´on de carga del robot del 2013 para un

posible mejoramiento.

Desde el a˜no 2013 el equipo de Robocol trabaj´o en un nuevo proyecto: el European

Rover Challenge 2014, que se llev´o a cabo en el mes de septiembre, en Checiny, Polonia.

En este proyecto de grado se trabaj´o sobre el brazo rob´otico del rover Deimos que

particip´o en el concurso antes mencionado. Este brazo fue dise˜nado y manufacturado en

un problema especial del estudiante Diego Camelo con la Colaboraci´on de Hayden Liu

Weng y Juan Sebastian Ruiz Medina bajo la asesor´ıa de Juan Pablo Barreto Melgarejo.

De acuerdo con las reglas del concurso el brazo rob´otico deb´ıa ser capaz de cumplir con

las siguientes tareas:

• Recolecci´on de muestras

Muestra de suelo superficial de al menos 200 gramos.

Roca de al menos 150 gramos.

• Mantenimiento

Accionar interruptores. 4

Conexi´on de un enchufe. 5

• Asistencia al astronauta: Transporte de objetos. 6

El brazo construido tiene seis grados de libertad como se ilustr´o en el marco te´orico.

Para actuar la rotaci´on de la base se utiliza un motoreductor, para la inclinaci´on del

brazo y el antebrazo se utilizan actuadores lineales, para la rotaci´on e inclinaci´on de la

mu˜neca se utilizan servomotores al igual que en la herramienta. A continuaci´on, en la

figura1.11 se ilustra un esquema del brazo rob´otico y posterior a esto en la tabla1.1se observan las caracter´ısticas relevantes del mismo.

4

Se deb´ıan accionar en un orden espec´ıfico.

5

Conector tipo europeo.

6

(28)

Figura 1.11: Esquema del Brazo Rob´otico del Rover Deimos.

Par´ametro Valor

Peso 7 kg

L1 30 cm

L2 50 cm

L3 30 cm

L4 12 cm

L5 18 cm

Q1 (base) Rotaci´on Continua

Q2 (brazo) -60◦ a 60◦

Q3 (antebrazo) 0◦ a 90◦

Q4 (mu˜neca) -90◦ a 90◦ Q5 (rotaci´on mu˜neca) -180◦ a 180◦

Q6 (herramienta) 32 mm a 82 mm

Tabla 1.1: Peso, Dimensiones y Rangos de los GDL del Brazo Rob´otico.

1.4

Definici´

on del Proyecto

1.4.1 Objetivos

1.4.1.1 Objetivo General

• Dise˜nar e Implementar en simulaci´on el mando de control de un brazo rob´otico de 6 GDL garantizando una manipulaci´on intuitiva y diestra.

(29)

1.4.1.2 Objetivos Espec´ıficos

• Proponer alternativas de soluci´on al problema.

• Evaluar y seleccionar la mejor alternativa de acuerdo con los requerimientos y criterios de evaluaci´on establecidos.

• Dise˜nar y construir el control de mando escogido.

• Implementar el control de mando en simulaci´on para verificar su funcionamiento.

1.4.2 Restricciones

• El costo del control de mando no puede superar un salario minimo vigente.

• Se debe realizar el proyecto en un tiempo no mayor a 18 semanas.

• No se puede implementar el control de mando en el brazo real en el momento.

1.4.3 Requerimientos

• Manejo intuitivo.

• Trayectorias en linea recta en coordenadas de la base o de la herramienta.

• Se desea seleccionar una alternativa de bajo costo.

• Se busca una alternativa de f´acil elaboraci´on.

1.4.4 Alcance

Al final de este proyecto de grado se pretende entregar el prototipo del mando de

con-trol de un brazo rob´otico que cumpla con los requerimientos establecidos as´ı como la

(30)

Alternativas de Soluci´

on

2.1

Criterios de Decisi´

on

Como criterios de decisi´on se tomaron en cuenta los requerimientos planteados en el

cap´ıtulo 1.4.2, estos se explicaran en detalle a continuaci´on.

• Costo: dependiendo de la alternativa el costo se representa por el precio actual en el mercado o el estimado para la elaboraci´on de la alternativa.

• Intuitividad: de acuerdo con lo investigado para cada alternativa resulta f´acil de observar cual alternativa resulta mas intuitiva de manejar para el usuario, este

criterio se eval´ua en una escala de 1 a 5 siendo 1 el menos intuitivo y 5 el mas

intuitivo.

• Cinem´atica Inversa: como uno de los requerimientos es la posibilidad de generar trayectorias rectas es preferible que la alternativa sea capaz de implementar cinem´atica

inversa, de lo contrario las trayectorias van a depender de la destreza del operador.

Este criterio se eval´ua ´unicamente con ”Si” o ”No” implementa.

• Simplicidad: de acuerdo con los conocimientos adquiridos a lo largo de la carrera, se puede evaluar cual alternativa resulta mas sencilla de elaborar. Este criterio se

eval´ua de 1 a 5 siendo 1 la alternativa mas complicada y 5 la mas sencilla.

De estas alternativas las mas importantes son la intuitividad y la cinem´atica inversa

pues son parte del objetivo general. De acuerdo con esto se les asigna un peso de 10%

a costo y simplificad y de 40% a intuitividad y cinem´atica inversa.

(31)

2.2

Alternativas de Soluci´

on

Para las alternativas de soluci´on se plantearon aquellas conocidas para el manejo de

brazos rob´oticos. Estas fueron escogidas a partir del conocimiento y la experiencia del

estudiante y dem´as miembros del grupo Robocol. De estas alternativas, la cuarta y la

quinta resultan muy similares siendo la ultima una modificaci´on de la cuarta.

2.2.1 Imitaci´on de Prototipo

Esta alternativa se bas´o en el segundo articulo explicado en la secci´on 1.3. Este control se basa en la imitaci´on de un brazo operacional: el brazo real imita el movimiento

comandado por el brazo operacional. Esta alternativa resulta muy intuitiva pues el

brazo operacional es manejado por el operador de forma manual, resulta medianamente

sencillo de elaborar pues se requiere la fabricaci´on del brazo operacional y esta alternativa

no esta pensada para un control preciso. El costo estimado de acuerdo con un proyecto

previo realizado por el estudiante es de 180 000 COP. A continuaci´on se muestra en la

figura2.1el prototipo elaborado por el estudiante para el grupo Robocol en la etapa de dise˜no previo del ERC en Noviembre del 2013.

Figura 2.1: Alternativa 1: Brazo operacional que maneja el brazo del rover.

2.2.2 Interfaz Gr´afica

La interfaz gr´afica es una alternativa muy com´un en la industria, para el manejo del

brazo se puede interactuar por medio del rat´on o del teclado. Resulta en una alternativa

(32)

de esta alternativa se encuentra en su bajo costo, dependiendo del software utilizado la

interfaz puede llegar a no presentar costos. Es una alternativa medianamente sencilla

de implementar y se puede incluir cinem´atica inversa en sus comandos.

En el dise˜no del brazo rob´otico de robocol se trabaj´o con una interfaz gr´afica desarrollada

en Matlab con ayuda del toolbox de rob´otica de Peter Corke.

Figura 2.2: Simulaci´on del Brazo de Robocol, posici´on inicial.

Figura 2.3: Simulaci´on del Brazo de Robocol, posici´on final.

Para la s´ıntesis del brazo rob´otico fue necesario definir los par´ametros D-H que se

mues-tran en la tabla2.1.

j Θ(rad) d(m) a(m) α(rad)

1 Q1 0 0 0

2 Q2 0.3 0.5 π/2

3 Q3 0 0.3 0

4 Q4 0 0 0

5 Q5 0.12 0 −π/2

(33)

2.2.3 Interfaz Natural de Usuario

La interfaz natural de usuario es aquella en la que se interact´ua con un sistema,

apli-caci´on, etc. Sin utilizar sistemas de mando o dispositivos de entrada de las GUI como

ser´ıa un rat´on, teclado alfanum´erico, l´apiz ´optico, touchpad, joystick, etc [21]. En este caso el mando de control es el propio cuerpo, un ejemplo claro de este tipo de control es

el Kinect de la consola de video juegos X-BOX. Esta alternativa depende de la destreza

del operador y tiene un costo de alrededor de 100 USD [22]. Es muy intuitiva en ciertos escenarios sin embargo, debido al tipo de uniones del robot, el brazo humano no es un

buen mando de control. Debido al numero de grados de libertad, es una alternativa

compleja de implementar. A continuaci´on en la figura 2.4 se ilustra el funcionamiento

de esta alternativa.

Figura 2.4: Interfaz Natural de Usuario (NUI) [8].

2.2.4 Control de Mando Comercial

Esta alternativa fue la que se us´o previamente en Septiembre del 2014 en el ERC. Esta

alternativa presenta la ventaja de ser muy ergon´omica. Un control de Xbox cl´asico puede

tener un costo de alrededor de 75 USD nuevo. No resulta tan intuitivo de manejar

pues no esta dise˜nado para manejar brazos rob´oticos por lo que la disposici´on de los

botones no es la mas adecuada. Debido a la presencia de joysticks el mando puede ser

implementado con cinem´atica inversa. La implementaci´on resulta muy sencilla pues no

se requiere construir nada a nivel de prototipo, ´unicamente a nivel de software. En la

(34)

Figura 2.5: Control de Xbox cl´asico con un costo de 75 USD [9].

2.2.5 Control de Mando Simplificado

El control de mando simplificado consiste en dise˜nar y construir un mando similar al

mostrado en la figura 2.5. La idea del control simplificado consiste en implementar componentes que resulten mas intuitivos para el movimiento de un brazo rob´otico. Este

control adem´as tiene el potencial de ser mejorado en robustez y ergonom´ıa. El costo

estimado es de 180 000 COP a partir de los componentes que contiene y resulta una

alternativa medianamente sencilla de elaborar. Puede incluir cinem´atica inversa. Un

ejemplo de un control tipo arcade mas adecuado para este tipo de tareas se muestra en

la figura 2.6.

(35)

Alternativa Costo(COP) Intuitividad Simplicidad Cinem´atica Inversa

Imitaci´on 180 000 5 5 No

Interfaz Gr´afica 0 1 1 Si

Interfaz Natural 170 000 2 4 No

Mando Comercial 165 900 3 2 Si

Mando Simplificado 175 000 4 3 Si

Peso 0.1 0.4 0.1 0.4

Tabla 2.2: Matriz de alternativas y criterios.

2.3

Toma de Decisi´

on

Para la toma de decisi´on de utiliz´o el metodoElectre (”Elimination et choix traduisant

la realit´e”) que se va a mostrar a continuaci´on. Para mas informaci´on del desarrollo

del metodo consultar [23]. Este m´etodo resulta de gran utilidad al evaluar alternativas con multiples criterios en diferentes escalas. Para iniciar el proceso de decisi´on es

nece-sario definir una matriz con las alternativas, los criterios, los valores y los pesos de cada

criterio. Esta matriz se muestra a continuaci´on, el dolar se tom´o a la tasa del 29 de

Noviembre de 2014.

Para el metodo electre primero hay que calcular las mayores diferencias en los criterios

(δ). En el caso de si y no vamos a remplazar los datos por 1 y 0 respectivamente.

Costo(COP) Intuitividad Simplicidad Cinem´atica Inversa

δ 34 000 4 4 1

Tabla 2.3: Maximas diferencias en los criterios.

Posterior a esto debemos calcular la matriz de concordancia que se observa en la 2.4.

Para calcular los elementos de la matriz hay que hacer lo siguiente: se deben sumar los

pesos de los aspectos en los que la alternativa de la filai es superior a la alternativa j.

Por ejemplo: la alternativa 1 es superior a la alternativa 2 en Intuitividad y Simplicidad

por lo que la suma de los pesos da 0.5, valor que se observa en la casilla de la fila 1

columna 2.

1 2 3 4 5

1 - 0.5 0.5 0.5 0.5

2 0.5 - 0.5 0.5 0.5

3 0.4 0.9 - 0.1 0.5

4 0.5 0.8 0.9 - 0.5

5 0.4 0.8 0.8

(36)

Despu´es de tener la matriz de concordancias es necesario calcular la matriz de

discor-dancias, esta matriz se observa en la tabla 2.5. Para construir esta matriz es necesario

hacer lo siguiente: se debe tomar la m´aximo la diferencia de valores donde la alternativa

de la fila i es superior a la alternativa de la columna j, la diferencia debe ser dividida

en el valor δ para normalizar los datos. Por ejemplo: la alternativa 1 es superior a la

alternativa 2 en intuitividad por 4 unidades pero se divide entreδ y da 1, por otro lado

es superior en simplicidad tambi´en por una diferencia normalizada de 1 por lo que el

valor m´aximo es de 1, este dato se observa en la fila 1 columna 2.

1 2 3 4 5

1 - 1 0.75 0.75 0.5

2 5.3 - 5 4.88 5.88

3 0 0.75 - 0.5 0.25

4 1 0.5 1 - 0

5 1 0.75 1 0.25

-Tabla 2.5: Matriz de concordancias.

Despu´es de esto hay que calcular los umbrales de decisi´on. El umbral de decisi´onpde la

matriz de concordancia se calcula como el promedio de los datos al igual que el umbral

de decisi´on q de la matriz de discordancia. El valor de p debe ser aproximado al valor

de la matriz inmediatamente superior y q al inmediatamente inferior. Los valores se

observan en la ecuaci´on (2.1).

p= 0.5 y q= 0.75 (2.1)

Por ´ultimo, para tomar la decisi´on final es necesario formar la matriz de decisi´on2.6. La matriz de decisi´on consiste en dos columnas: una columna de dominancia por filas y una

columna de dominancia por columnas. Para que una alternativa domine a la otra tanto

en filas como en columnas es necesario que el valor de la matriz de concordancia sea

supe-rior al umbral y el valor de la matriz de discordancia sea infesupe-rior al umbral. Finalmente,

se restan el numero de alternativas dominadas en filas menos el numero de alternativas

dominadas en columna, la alternativa con el mayor numero ser´a la alternativa que se

escoge.

Dominancia por Filas Dominancia por Columnas Diferencia

1 0 0 0

2 0 A4 -1

3 0 0 0

4 A2 A5 0

5 A4 0 1

(37)

Procesamiento y Simulaci´

on

Para continuar con el capitulo4, es necesario describir brevemente como fue el sistema de procesamiento de los datos: desde la lectura an´aloga o digital de los diferentes

com-ponentes hasta la simulaci´on del brazo rob´otico. En el capitulo5se explicar´a con mayor detalle para la configuraci´on final escogida.

3.1

Conexiones

Como sensores del sistema tenemos dos tipos de componentes: botones (o interruptores)

y potenci´ometros. Estos dos componentes representan entradas digitales y an´alogas

respectivamente.

3.1.1 Entrada Digital

Una entrada digital es una entrada que puede tomar unicamente dos valores: un 0

l´ogico o un 1 l´ogico. Un 1 l´ogico representa un valor de 5V, de esta forma si la entrada

es cercana a 5V, digamos 4.7 V, se reconocer´a el valor como un 1. Como se puede

observar en la figura3.1cuando el interruptor se activa la salida es de 5V y cuando esta abierto la salida es de 0V.

(38)

Figura 3.1: Conexi´on de una entrada digital [11].

3.1.2 Entrada An´aloga

Una entrada an´aloga es un se˜nal que puede tomar un valor entre 0 y 5V, esta se˜nal

se digitaliza y se tiene una aproximaci´on digital dependiendo del numero de bits. En

este caso la resoluci´on es de 8 bits, con 8 bits se pueden construir 1024 n´umeros por lo

que la resoluci´on ser´a de 5 V /1024 = 0.0048 V. De esta forma 0V se representa por

el numero en binario 00000000 y 5V por 11111111. Para obtener la entrada an´aloga lo

´

unico que hay que hacer es formar un divisor de voltaje con una resistencia variable,

para eso utilizaremos un potenci´ometro y se realiza la conexi´on como se muestra en la

figura3.2, el Vin vale la pena aclarar es un voltaje de 5V.

Figura 3.2: Potenci´ometro y Salida An´aloga [12].

3.2

Adquisici´

on de los Datos y Comunicaci´

on Serial

Para la adquisici´on de los datos se utiliz´o una tarjeta Arduino Uno como la que se

muestra en la figura 3.3. Esta tarjeta resulta muy f´acil de programar y tiene el numero de entradas an´alogsa y digitales requeridas para la soluci´on del proyecto. Esta tarjeta

adquiere los datos y se comunica con el computador por protocolo serial, esto se hace

(39)

Figura 3.3: Tarjeta Arduino Uno[13].

La programaci´on de la tarjeta se realiza en el software libre Arduino que se observa en

la figura 3.4.Tambi´en se observa la comunicaci´on serial, la lectura an´aloga, la lectura

digital y la impresi´on de los datos.

Figura 3.4: Ambiente de Programaci´on de Arduino.

La impresi´on que realiza el Arduino se ve limitada a palabras de 32 bits que en decimal

(40)

los 9 d´ıgitos. En el ejemplo que se muestra la variable ”uno” presenta valores entre 0

y 1024 y la variable ”dos” de 0 o 1. Al imprimir estos dos datos concatenados se va a

imprimir una palabra de cuatro d´ıgitos. En el capitulo 5 se va a explicar que sucede cuanto se tienen que leer muchas entradas y no caben en una sola palabra.

3.3

Lectura Serial

Los datos adquiridos por el Arduino entran al computador por medio de un puerto

COM. Este puerto COM debe ser abierto desde simulink para procesar los datos desde

el mismo. Para esto se hace uso del bloque Query que se muestra en la figura 3.5. Es

necesario configurar el puerto y la tasa seg´un el programa del Arduino.

Figura 3.5: Bloque Query para Lectura Serial.

3.4

Decodificaci´

on

Como el mensaje enviado por el Arduino es una palabra de maximo 9 d´ıgitos, esta debe

ser procesada y decodificada para obtener la informaci´on relevante. Para este proceso se

(41)

para la soluci´on del problema. En la figura3.6se pueden observar los bloques de lectura y decodificaci´on. La decodificaci´on de los datos se vuelve mas compleja cuando se env´ıan

dos palabras diferentes, en el capitulo 5 se va a explicar que sucede en este caso.

Figura 3.6: Decodificaci´on de los Datos.

3.5

SimMechanics

Para la simulaci´on del brazo rob´otico se hace uso de dos programas: Autodesk Inventor

y SimMechanics. El primer programa se utiliza para crear el CAD y el segundo para la

simulaci´on. En la figura 3.7se puede observar una simulaci´on del brazo rob´otico con 4

GDL ´unicamente.

Figura 3.7: CAD del Brazo Rob´otico con 4 GDL.

Autodesk Inventor exporta el CAD como archivos de bloques que pueden ser

utiliza-dos por SimMechanics. El archivo termina como .xml y debe ser abierto por MatLab

utilizando el comando mech import(’nombredelensamble.xml’). Para poder hacer este

proceso es necesario instalar los paquetes adecuados para Inventor y MatLab por lo que

se recomienda consultar la referencia [24].

En la figura3.8se puede observar un diagrama de bloques para mover un ensamble con 1 GDL: entre la pieza Base y Eslab´on se encuentra un bloque que representa la union

(42)

de revoluta y debe ser actuada ingresandole la posici´on, velocidad y aceleraci´on; para

esto se ingresa la posici´on y se incluyen bloques de derivaci´on y un multiplexor.

(43)

Dise˜

no de la Configuraci´

on

Como se observ´o en el capitulo3 la alternativa escogida fue el dise˜no y construcci´on de

un mando propio simplificado. En el capitulo 3 se mostr´o que el mando pod´ıa incluir ´

unicamente entradas an´alogas y digitales. Para la construcci´on del mando se tuvieron en

cuenta los componentes t´ıpicos de una consola Arcade y que se consiguen en el mercado

local, estos se observan en la figura 4.1.

Figura 4.1: Alternativa de componentes [14].

Los componentes son palancas, botones, potenci´ometros, interruptores y potenci´ometros

de corredera. De los componentes antes mencionados se ponen las siguientes

restric-ciones, estas restricciones se fijaron por gusto del autor del proyecto y se desea evaluar

el uso de palancas o potenci´ometros para los siguientes grados de libertad: rotaci´on de

la base, plano XZ y orientaci´on de la herramienta.

• El interruptor debe ser usado para el cambio de modo en la cinem´atica inversa.

• El potenci´ometro de corredera debe ser usado para la apertura y cierre de las pinzas ya que tambi´en es un movimiento rectil´ıneo.

• Para la rotaci´on de la mu˜neca se har´a uso de un potenci´ometro.

• Los botones son utilizados ´unicamente como comandos r´apidos de posici´on. 29

(44)

4.1

Alternativas de Configuraci´

on

A partir de lo anterior se desea observar cual es una configuraci´on adecuada para los

potenci´ometros y las palancas por lo que se prueban tres alternativas. Estas se muestran

en la figura 4.2. En esta secci´on se desea encontrar la distribuci´on y los componentes

que manejan los grados de libertad que se observan en la figura 3.7 ya que los dem´as grados de libertad ya est´an restringidos en componentes.

Figura 4.2: Alternativa de componentes.

Alternativa 1Busca evaluar el uso de una palanca para el movimiento en el plano XZ

del brazo y el uso de potenci´ometros para la orientaci´on y rotaci´on de la base.

Alternativa 2 Busca evaluar el uso de 4 potenci´ometros para el movimiento de los 4

GDL antes mencionados.

Alternativa 3 Busca evaluar el uso de 2 palancas para el movimiento de los 4 GDL

antes mencionados.

Para el desarrollo de las pruebas se realizaron conexiones provisionales en protoboard,

(45)

Figura 4.3: Conexiones Provisionales.

4.2

Protocolo de Pruebas

Para evaluar las alternativas se tomaron sujetos de pruebas y se les solicit´o utilizar

los distintos controles de mando provisionales para seguir la trayectoria mostrada en la

figura4.4.

Figura 4.4: Trayectoria del protocolo de pruebas.

Descripci´on de la trayectoria: La posici´on inicial del brazo se encuentra ubicada

hacia atr´as, el sujeto debe rotar el brazo en sentido lev´ogiro hasta que se encuentre

adelante y finalmente se debe tocar la esquina superior derecha con la herramienta

apuntando a un ´angulo de -135◦ con respecto al piso.

Datos a Tomar: Cada uno de los sujetos de prueba debe repetir la trayectoria 5 veces.

Se toman los siguientes datos:

• Datos Personales: Nombre

Edad

Carrera

(46)

• Calificaci´on de caracter´ısticas de los mandos. Comodidad

Intuitividad

Velocidad

Precisi´on

4.3

Resultados de las Pruebas

De los resultados obtenidos se observ´o que el evaluar la comodidad, intuitividad,

veloci-dad y precisi´on no es de mucha utilidad. En primer lugar la velocidad y precisi´on son

conceptos que dependen de la programaci´on y/o los componentes mas no de la

config-uraci´on, por ejemplo: los potenci´ometros al ser de 10 vueltas aparentan ser precisos y

poco veloces; en segundo lugar, la intuitivdad y la comodidad no dieron muy buenos

resultados al variar mucho los conceptos entre personas y no poder comparar entre

al-ternativas. Los resultados completos se pueden observar en el anexo A. De lo anterior

se llega a la decisi´on de mirar ´unicamente los resultados de los tiempos y la tasa de

aprendizaje que resulta de la pendiente de los cinco tiempos tomados.

Tabla 4.1: Resultados de las Pruebas.

Alternativa 1er Tiempo (s) Tasa de Aprendizaje Mejor Tiempo (s)

Palanca + Perillas 54,1 -8,5 s/intento 15,4

Solo Perillas 69,2 -9,8 s/intento 21

Dos Palancas 74,7 -11,4 s/intento 19,9

Como se puede observar en la tabla 4.1 la primera alternativa resulta la mas intuitiva

presentando un primer tiempo promedio de 54,1 segundos y un tiempo maximo promedio

de 15.4 segundos. La tasa de aprendizaje result´o no ser muy diciente, esto debido a que

en la alternativa con mayor tasa de aprendizaje los tiempos del primer intento fueron

muy grandes, dando una impresi´on inequ´ıvoca de intuitividad.

4.4

Mismo Sujeto de Pruebas

Para observar la utilidad de incluir un algoritmo de cinem´atica inversa se utiliz´o un

sujeto de pruebas que participara con cada una de las alternativas. Este sujeto prob´o

una cuarta alternativa con la misma configuraci´on de la alternativa 2 manejando los

(47)

inversa. El sujeto de pruebas se llama Daniel Esteban Ochoa Tamayo, 19 a˜nos de edad

y es estudiante de ingenier´ıa electr´onica y f´ısica.

Tabla 4.2: Comparaci´on entre Alternativas.

Alternativa 1er Tiempo (s) Mejor Tiempo (s) Tasa de Aprendizaje

Palanca + Perillas 42,58 11,63 -9,5 s/intento

Solo Perillas 31,9 11,41 -4,5 s/intento

Dos Palancas 20,41 14,45 -1,4 s/intento

Grados Independientes 30,38 18,71 -3,3 s/intento

De lo que se observa en la tabla 4.2 el sujeto va mejorando entre alternativas, esto se debe a que el sujeto al evaluar la segunda alternativa ya tiene practica por haber

probado previamente la primera alternativa. De igual forma al probar la alternativa

tres, el sujeto tiene la experiencia de haber manejado las dos primeras. Sin embargo, en

la ultima alternativa (manejando los GDL independientemente como se hizo en el ERC

2014) el primer tiempo decae, el mejor tiempo es el peor entre alternativas y la tasa de

aprendizaje decae. Dicho todo esto queda claro que el mando de control a implementar

(48)

Construcci´

on e Implementaci´

on

5.1

Componentes a Utilizar

De los resultados obtenidos en el capitulo4se distribuyen los componentes de la siguiente manera:

• Palanca tipo arcade: Maneja el plano XZ del brazo.

• Tres Potenciometros lineales: Manejan la rotaci´on de la base, la mu˜neca y la orientaci´on de la herramienta.

• Potenciometro de corredera: Maneja la apertura y cierre de la herramienta.

• Dos botones: Comandos rapidos, para ubicar el brazo al frente y recogido en la parte trasera.

• Un interruptor: Este es utilizado para cambiar el modo de la cinem´atica inversa.

5.2

Diagrama de Bloques Hardware

Luego de haber seleccionado los componentes es necesario ilustrar el diagrama de bloques

donde se muestra la relaci´on entre los componentes, el Arduino Uno y el computador.

Esta relaci´on se observa en la figura5.1.

(49)

Figura 5.1: Diagrama de Bloques Hardware.

5.3

Dise˜

no CAD y Construcci´

on

5.3.1 Dise˜no CAD

Una vez seleccionado los componentes y conociendo la interconexi´on de los mismos, se

procede a dise˜nar el mando de control en Autodesk Inventor. El dise˜no del mando debe

procurar un uso adecuado del espacio y una f´acil conexi´on de los componentes. El CAD

del mando de control se puede observar en la figura 5.2.

Figura 5.2: Dise˜no en Autodesk Inventor del mando de Control.

5.3.2 Construcci´on

El mando de control se construy´o en acr´ılico color humo de 3mm de calibre. La selecci´on

(50)

del corte l´aser en la Universidad. A continuaci´on se muestran una serie de im´agenes del

mando de control finalizado.

Figura 5.3: Vista desde la diagonal izquierda.

Figura 5.4: Vista desde la diagonal derecha.

En las figuras5.3y5.4se puede observar que el mando ´unicamente deber conectado por

el cable USB A/B y se muestran los componentes antes mencionados. Se ubica sobre

una base de mayor tama˜no y esta tiene unas chupas que impiden el movimiento del

(51)

Figura 5.5: Vista Superior.

En la figura5.5 se puede observar que sobre el acr´ılico se encuentra un grabado que le

permite al usuario comprender de manera mas sencilla el funcionamiento del mando.

5.4

Diagrama de Bloques Software

Como se mencion´o en el capitulo 4, el sistema a nivel de sofware se divide en cua-tro modulos: adquisici´on de los datos, decodificaci´on, procesamiento y simulaci´on. La

adquisici´on de los datos la realiza el arduino uno. La lectura, decodificaci´on,

proce-samiento y simulaci´on se realizan en Simulink. En la figura 5.6 se observa el diagrama

de bloques en Simulink.

(52)

5.4.1 Adquisici´on de Datos

Para la adquisici´on de los datos se utiliz´o un Arduino Uno, el c´odigo de este se presenta

en el anexo B. Este codigo se encarga de hacer cuatro cosas en la siguiente secuencia:

1. Inicializaci´on de variables: se realiza para que las coordenadas x yzal iniciar

el algoritmo se encuentren en una configuraci´on con soluci´on, 50 cm para cada

variable.

2. Comunicaci´on: Se inicia el env´ıo de informaci´on por serial y se fija la tasa.

3. Lectura de datos: Se leen los datos an´alogos con valores entre 0 y 1020 y digitales

con valores de 0 o 1.

4. Preprocesamiento de los datos an´alogos: Se deben convertir a valores entre

10 y 99 para que se mantenga un numero de 2 d´ıgitos.

5. Preprocesamiento de los datos digitales de la palanca: Los datos de los

cuatro interruptores de la palanca deben ser procesados para que la palanca sume

o reste una unidad enx y/o enz cuando se accionan los interruptores.

6. Impresi´on de los datos: Se organiza la informaci´on en dos palabras de 8 y

7 d´ıgitos. A la palabra de 7 d´ıgitos se le incluye un 0 que ser´a utilizado en la

decodificaci´on. Los datos digitales por defecto se encuentran en 0. La primera

palabra contiene la informaci´on de los cuatro potenciometros, la segunda palabra

contiene la informaci´on de las coordenadas x y z y las tres entradas digitales

restantes. El env´ıo de la informaci´on se puede observar en la figura 5.7.

Figura 5.7: Las dos palabras enviadas por el Arduino.

5.4.2 Decodificaci´on

Para la decodificaci´on se realiza un c´odigo en Matlab. El bloque de codificaci´on en la

figura5.6es el bloque naranja. El prop´osito de este bloque es separar las dos palabras que env´ıa el Arduino, para esto necesita usar bloques de memoria para poder almacenar las

(53)

variables de una palabra mientras se lee la otra palabra. Se lee la longitud de la palabra

y se leen los datos los datos que corresponden seg´un sea la longitud. Este proceso se

observa en mayor detalle en el ap´endice C, en este se puede encontrar el c´odigo de la funci´on comentado y un detalle del bloque de decodificaci´on.

5.4.3 Procesamiento

El procesamiento se lleva a cabo con una funci´on de Matlab y un bloque de memoria

como se observa en la figura5.6, en el apendiceCse presenta el c´odigo de esta funci´on. La funci´on se encarga de las siguientes tareas:

• Realizar la cinem´atica inversa.

• Declarar las longitudes de los eslabones.

• Ubicar el brazo a 0◦ y permitir los dem´as grados de libertad.

• Ubicar el brazo en una posici´on de reposo y restringir todos sus grados de libertad.

• Ubicar el brazo en la posici´on de reposo en caso de encontrarse cercano a una singularidad.

• Cambiar la cinem´atica inversa de coordenadas de la base a coordenadas de la herramienta.

5.4.4 Simulaci´on

Para la simulaci´on del brazo rob´otico como se mencion´o en el capitulo3 se hace uso de dos programas: Autodesk Inventor y SimMechanics. En la siguiente serie de figuras se

va a tratar de ilustrar el funcionamiento del mando. En el ap´endice C se presenta el diagrama de bloques para los 6 grados de libertad.

(54)

En la figura 5.8 se observa como rota la base del brazo, este movimiento se logra al mover un potenci´ometro.

Figura 5.9: Movimiento de la orientaci´on.

En la figura 5.9 se observa como rota la orientaci´on de la herramienta sin afectar su

ubicaci´on, esto se logra con un potenci´ometro.

Figura 5.10: Rotaci´on de la Mu˜neca.

En la figura 5.10 se observa la rotaci´on de la mu˜neca, este movimiento se logra con un potenci´ometro.

Figura 5.11: Apertura y Cierre de las Pinzas.

En la figura 5.11 se observa la apertura y cierre de las pinzas, esto se logra con un potenci´ometro de corredera.

(55)

Figura 5.12: Movimiento rectil´ıneo en el X global.

En la figura5.12se puede observar el movimiento rectil´ıneo x en coordenadas de la base,

este movimiento se logra moviendo la palanca a la izquierda o derecha.

Figura 5.13: Movimiento rectil´ıneo en el Z global.

En la figura5.13se puede observar el movimiento rectil´ıneo z en coordenadas de la base,

este movimiento se logra moviendo la palanca hacia arriba o hacia abajo.

Figura 5.14: Movimiento rectil´ıneo en el X de la herramienta.

En la figura 5.12 se puede observar el movimiento rectil´ıneo x en coordenadas de la

(56)

Conclusiones y Trabajo Futuro

6.1

Conclusiones

• Se logr´o construir el prototipo de un mando de control para un brazo rob´otico de seis grados de libertad garantizando un manejo intuitivo y diestro.

• Se observ´o que la implementaci´on de la cinem´atica inversa muestra buenos resul-tados frente a la manipulaci´on individual de los GDL.

• Se simul´o el funcionamiento del mando de control en SimMechanics de MatLab logrando cumplir los objetivos.

• Se concluye que para observar el correcto funcionamiento del mando es necesario implementarlo en un brazo real.

6.2

Trabajo Futuro

• Proyecto:

Implementaci´on del mando en un brazo real.

• Producto:

(57)

Mejora del prototipo en robustez y ergonom´ıa.

Inclusi´on de una palanca con mas grados de libertad.

Reducir el numero de vueltas de los potenci´ometros

Limitar el rango de los grados de libertad.

• Simulaci´on:

Mantener la posici´on en caso de estar cerca a una posici´on singular.

Arreglar el modo de coordenadas de la base1.

1

(58)

[1] Japan Robotics Association. Outlook for robotics and automation for 2011, 2011.

[Tomado de www.tommytoy.typepad.com el 3-Noviembre-2014].

[2] Lysandrou. Tomado de http://lysandrou.blogspot.com el 20 de abril de 2014.

[3] Frank C.Park. Robot mechanics and control. 2014. [Seoul National University,

Online Course].

[4] Lung-Wen Tsai. Robot analysis, themechanicsof serialandparallelmanipulators.

1999. [Nueva York:John Wiley and Sons].

[5] Carsten Preusche Gunter Niemeyer and Gerd Hirzinger. Telerobotics from robotics

handbook by siciliano and khatib, 2008.

[6] Jiawei Li Haiying Hu and Bin Wang. A robot arm/nad teleoperation system with

telepresence and shared control. 2005. [International Conference on Advanced

Intelligent Mechatronics].

[7] Takeo Matsumoto Kenta Tsukamoto Naruto Egashira Achala Pallegedara,

Yoshi-taka Matsuda and Satoru Goto. Teleoperation of robot arms using force-free control

and template matchingl. 2012. [International Journal of Innovative Computing,

In-formation and Control].

[8] Institute for Biocomputation and Physics of Complex Systems. Realidad virtual,

2012. [Zaragoza].

[9] Microsoft. Controller s-black, 2014.

http://www.amazon.com/Xbox-Controller-S-Black.

[10] Rob Beschizza. Decent cheap usb arcade joystick finally exist, 2007.

http://www.wired.com/.

[11] Enrique Arce. Digital input to the arduino, 20/Oct/2007. Tomado de

https://ctheds.wordpress.com/2007/10/30/digital-input-to-the-arduino/ el 2 de

Di-ciembre de 2014.

(59)

[12] Electronics 2000. Tomado de http://www.electronics2000.co.uk/images/data/potcons.png

el 2 de Diciembre de 2014.

[13] Arduino. Tomado de http://arduino.cc/ el 2 de Diciembre de 2014.

[14] Componentes tomados de www.oceancontrols.com.au, www.amazon.com,

www.freepik.es, www.welectronics.com.mx y www.sparkfun.com respectivamente

el 4 de Diciembre de 2014.

[15] Real Academia Espa˜nola, 2014. [Consultado de www.rae.es el 25-Marzo-2014.].

[16] Carlos Francisco Rodriguez, 2014. [Tomado de la clase Rob´otica-IELE3338, del

Departamento de Ingenier´ıa El´ectrica y Electr´onica de la Universidad de los Andes].

[17] Freedonia Group. World robots to 2016, 2012.

[18] Robotic Industries Association Brian Huse. Economic conditions and opportunities

bode well for robotics.

[19] Occupational Safety United States Department of Labor and Health

Adminis-tration. Robotics, safety and health. 11 de Marzo de 2008. [Tomado de

www.osha.gov/SLTC/robotics/ el 26 de Marzo de 2014].

[20] Cinem´atica diferencial. [Universidad Polit´ecnica de Madrid, Rob´otica].

[21] Fundaci´on Centro Colombiano de Estudios Profesionales. Interfaz natural de

usuario, 2008. http://www.cecep.edu.co/.

[22] Microsoft. Kinect sensor with kinect adventures!, 2014.

http://www.amazon.com/Kinect-Sensor-Adventures-Xbox-360.

[23] Enrique Arce. leccion 7 seleccion de alternativas, 15/Sept/2009.

https://www.youtube.com/watch?v=wrios4vbAnc.

[24] MathWorks. Tomado de

Referencias

Documento similar

Es importante mencionar, que en los últimos 5 años, China ha venido mostrando un gran avance en la industria textil y de la confección, ingresando en mercados como Europa,

Debido a que Rational Rose es una herramienta CASE de software propietario y según lo planteado anteriormente, se decidió utilizar el Visual Paradigm, ya que es una

*Correctivo contingente *Correctivo programable.. El mantenimiento correctivo contingente se refiere a las actividades que se realizan en forma inmediata, debido a que algún

Un método de estudio aparte de ser una herramienta muy útil al momento de estudiar también nos ayuda a agilizar nuestra mente y tener una buena memoria para futuro?. Palabras

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

El quincenario de los frailes de Filipinas, condena para el Archipiélago los propósitos de nivelación jurídica que para todo territorio español, peninsular o ultramarino, se

Este proceso analiza el fonocardiograma adquirido arrojando tres envolventes, la amplitud, energía y frecuencia instantánea, esta información derivada del