• No se han encontrado resultados

CARACTERIZACION Y MANEJO VIRTUAL DE UN BRAZO MANIPULADOR A DISTANCIA VIA INTERNET

N/A
N/A
Protected

Academic year: 2017

Share "CARACTERIZACION Y MANEJO VIRTUAL DE UN BRAZO MANIPULADOR A DISTANCIA VIA INTERNET"

Copied!
199
0
0

Texto completo

(1)

INSTITUTO POLIT´

ECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIER´

IA MEC ´

ANICA Y

EL´

ECTRICA

SECCI ´

ON DE ESTUDIOS DE POSGRADO E

INVESTIGACI ´

ON

Caracterizaci´

on y manejo virtual de un

brazo manipulador a distancia v´ıa internet.

TESIS

Que para obtener el grado de Maestro en Ciencias en Ingenier´ıa

de Telecomunicaciones

Presenta: Enrique V´

azquez S´

anchez

Asesor: Dra. Martha Cecilia Galaz Larios

(2)
(3)
(4)
(5)
(6)
(7)

1

Powell’s radio voice was tense in Donovan’s ear: “Now, look, let’s start with the three fundamental Rules of Robotics – the three rules that are built most deeply into a robot’s positronic brain.” In the darkness, his gloved fingers ticked off each point.

“We have: One, a robot may not injure a human being, or, through inaction, allow a human being to come to harm.”

“Right”

“Two,” continued Powell, “a robot must obey the orders given it by human beings except where such orders would conflict with the First Law.”

“Right”

“And three, a robot must protect its own existence as long as such protec-tion does not conflict with the First or Second Laws.”

Isaac Asimov,Runaround

My dear Miss Glory, Robots are not people. They are mechanically more perfect than we are, they have an astounding intellectual capacity, but they have no soul.

Karel Capek, RUR (Rossum’s Universal Robots)

They learn to speak, write, and do arithmetic. They have a phenomenal memory. If one read them the encyclopedia they could repeat everything back in order, but they never think up anything original. They’d make fine university professors.

Karel Capek, RUR (Rossum’s Universal Robots)

Soy hombre: Duro poco y es enorme la noche. Pero miro hacia arriba: las estrellas escriben. Sin entender comprendo: Tambi´en soy escritura y en este mismo instante alguien me deletrea

(8)
(9)

´Indice general

1. Introducci´on 23

1.1. Robots . . . 24

1.1.1. Robots teleoperados . . . 26

1.2. Internet . . . 28

1.2.1. Historia de internet . . . 28

1.2.2. Descripci´on del servicio que ofrece internet . . . 29

1.3. Alcance de la Tesis . . . 29

1.3.1. Organizaci´on de la Tesis . . . 30

2. Caracterizaci´on del brazo del manipulador 33 2.1. Brazos manipuladores . . . 33

2.1.1. Principales caracter´ısticas . . . 33

2.1.2. Configuraciones . . . 35

2.1.3. Brazo manipulador Eduarm 5Axis . . . 36

2.2. Cinem´atica directa del manipulador . . . 43

2.2.1. Descripci´on de v´ınculos . . . 44

2.2.2. Descripci´on de la conexi´on de v´ınculos . . . 44

2.2.3. Convenci´on para asignar sistemas de coordenadas a v´ınculos . . 45

2.3. Convenci´on Denavit-Hartemberg . . . 46

2.4. Par´ametros DH del brazo Eduarm 5Axis . . . 48

3. Hardware 55 3.1. El microcontrolador . . . 55

3.1.1. PIC16F84 . . . 55

3.2. El est´andar EIA/TIA-232 . . . 57

3.2.1. Puerto Serie . . . 57

3.2.2. El Baudio . . . 58

3.3. MAX232 . . . 59

3.3.1. Conexi´on entre el Puerto Serie Y el PIC16F84A . . . 59

3.4. Servomotores . . . 61

3.5. Modulaci´on de ancho de pulso (PWM) . . . 62

3.6. Generaci´on de se˜nales PWM en el PIC16F84A . . . 64

3.6.1. Funcionamiento del programa en ensamblador . . . 65

3.6.2. Se˜nales PWM en el PIC16F84A . . . 67

(10)

3.7. Tarjeta controladora de servomotores . . . 67

3.7.1. Caracter´ısticas . . . 69

3.7.2. Conectores y Jumpers . . . 71

3.7.3. Modo de operaci´on . . . 71

3.8. Protocolo de comunicaci´on . . . 72

3.8.1. Comandos . . . 74

3.9. Comunicaci´on de la Tarjeta con RobotSolid . . . 76

3.10. Servomotores del robot Eduarm 5Axis . . . 78

4. Software 79 4.1. Programaci´on de robots . . . 80

4.2. Matlab . . . 80

4.3. RobotSolid . . . 81

4.3.1. RobotSolid y la cinem´atica directa . . . 81

4.4. Eduarm 5Axis . . . 83

4.5. La interfaz gr´afica de usuario . . . 86

4.6. Inicializaci´on de RobotSolid . . . 90

4.6.1. Por directorio actual . . . 90

4.6.2. Agregando RobotSolid en el path de Matlab . . . 92

4.7. Funciones de RobotSolid . . . 93

4.8. Elementos de la GUI del robot Eduarm 5Axis . . . 94

4.8.1. La posici´on inicial . . . 94

4.8.2. Modo normal y modo sistema de referencias . . . 95

4.8.3. Ventanas de vista auxiliar . . . 96

4.8.4. Barras de desplazamiento . . . 96

4.8.5. Cuadros de edici´on de texto . . . 98

4.8.6. ´Angulo de elevaci´on y azimuth . . . 100

4.8.7. Zoom . . . 100

4.8.8. Salir . . . 100

4.8.9. Comunicaci´on con el puerto serie . . . 102

4.9. SCARA . . . 103

4.10. Mejoras . . . 105

5. Teleoperaci´on v´ıa Internet 107 5.1. Internet . . . 107

5.2. Esquemas de teleoperaci´on . . . 108

5.2.1. Sin aislamiento . . . 108

5.2.2. Aislando la referencia . . . 108

5.2.3. Aislando el controlador . . . 109

5.3. Protocolo RFB . . . 110

5.4. VNC . . . 110

5.4.1. Caracter´ısticas . . . 110

(11)

´INDICE GENERAL 5

6. Resultados y conclusiones 115

6.1. Resultados . . . 115

6.2. Conclusiones . . . 116

6.3. Trabajos futuros . . . 116

A. Caracter´ısticas t´ecnicas de los servomotores 119 A.1. Servomotor 1 . . . 119

A.2. Servomotor 2 . . . 119

A.3. Servomotor 3 . . . 119

A.4. Servomotor 4 . . . 120

A.5. Servomotor 5 . . . 120

B. Posiciones de los servomotores 121 B.1. Servomotor 1 (base) . . . 122

B.2. Servomotor 2 (hombro) . . . 123

B.3. servomotor 3 (codo) . . . 124

B.4. servomotor 4 (mu˜neca) . . . 126

B.5. servomotor 5 (pinza) . . . 127

C. Programa en ensamblador 131 D. RobotSolid 147 D.1. cilindro.m . . . 147

D.2. circulo.m . . . 148

D.3. cono.m . . . 149

D.4. coordorg.m . . . 150

D.5. Eduarm.m . . . 152

D.6. Eduarmdata.m . . . 167

D.7. Eduarmf.m . . . 170

D.8. limitarango.m . . . 171

D.9. pinza.m . . . 171

D.10.plotc.m . . . 173

D.11.plotcoord.m . . . 174

D.12.plotEduarm.m . . . 175

D.13.plotEduarmc.m . . . 178

D.14.prisma.m . . . 179

D.15.tcico.m . . . 183

D.16.tcoord.m . . . 184

D.17.tprisma.m . . . 187

D.18.tr.m . . . 187

(12)
(13)

Glosario

Antropom´orfico. Que tiene forma humana.

Articulaci´on. Elemento que provee de un grado de libertad a un enlace de un robot.

Brazo articulado. Tambi´en llamado brazo robot o brazo antropom´orfico. Robot que posee movimientos de rotaci´on para posicionarse. Generalmente, el volumen de trabajo de este robot es esf´erico.

callback. Llamada a una funci´on o un procedimiento cuando se produce un evento en una interfaz gr´afica de usuario.

Canal de comunicaci´on. Es el medio de transmisi´on por el que viajan las se˜nales portadoras de la informaci´on que pretenden intercambiar emisor y receptor.

Cinem´atica. Es la ciencia que estudia el movimiento de los cuerpos sin considerar las causas que lo producen. Entre sus objetos de estudio se encuentran la posici´on, velocidad, aceleraci´on y todas las derivadas de mayor orden de las variables de posici´on (con respecto al tiempo o alguna otra variable).

Cinem´atica directa. Es el problema geom´etrico est´atico de calcular la posici´on y orientaci´on del efector final del manipulador dadas las magnitudes de las variables de articulaci´on.

Cinem´atica inversa. El problema cinem´atico inverso es el problema de calcular las variables de articulaci´on dadas la posici´on y la orientaci´on del efector final.

Cliente. Programa que se ejecuta en un sistema terminal que solicita y recibe un servicio.

Eduarm 5Axis. Brazo robot con fines educativos que posee cinco articulaciones (ejes) de rotaci´on. Cada articulaci´on posee al menos un servomotor como dispositivo para el movimiento. Cuatro de los ejes corresponden a variables de articulaci´on y el otro eje corresponde al accionamiento de la pinza.

Enlace. Elemento r´ıgido de un robot que une dos ejes.

Ensamblador. Es un lenguaje de bajo nivel utilizado para escribir programas in-form´aticos, y constituye la representaci´on m´as directa del c´odigo m´aquina es-pec´ıfico para cada arquitectura de computadoras.

(14)

Funci´on. Una funci´on en programaci´on se refiere al c´odigo que recibe argumentos de entrada para realizar operaciones con ellos y retorna un resultado.

Grados de libertad. Cada uno de los movimientos independientes (giros y desplaza-mientos) que puede realizar cada articulaci´on con respecto a la anterior.

GUI. (Graphical User Interface). V´ease Interfaz Gr´afica de Usuario.

GUIDE. (Graphical User Interface Development Environment). Es la herramienta de Matlab que permite realizar interfaces gr´aficas de usuario de un modo sencillo mediante una interfaz visual.

Hardware. Corresponde a todas las partes f´ısicas y tangibles de una computadora: sus componentes el´ectricos, electr´onicos, electromec´anicos y mec´anicos; sus ca-bles, gabinetes o cajas, perif´ericos de todo tipo y cualquier otro elemento f´ısico involucrado.

HEMERO. (Herramienta Matlab/Simulink para el estudio de manipuladores y robots m´oviles) Herramienta integrada por funciones de Matlab y bloques de Simulink que se han definido para facilitar las simulaciones de los modelos cinem´aticos y din´amicos de los robots tanto manipuladores como m´oviles. Esta herramienta ha sido desarrollada por J. I. Maza y A. Ollero.

Interfaz Gr´afica de Usuario. Interfaz gr´afica que posee controles intuitivos para uti-lizar una aplicaci´on de manera sencilla, ya que se realiza de manera gr´afica.

Internet. La red de redes mundial. La mayor´ıa de los dispositivos conectados son computadoras tradicionales (denominadas sistemas terminales) que realizan al-guna petici´on de informaci´on a otra computadora. Esto se realiza mediante un complejo sistema de comunicaci´on (protocolos), donde intervienen elementos de hardware y software.

Laparoscop´ıa. Cirug´ıa m´ınimamente invansiva. Las insiciones son del orden de 5 a 10 mm.

Las tres leyes de la rob´otica. Leyes que aparecen en la literatura de la ciencia fic-ci´on en la obra Runaround de Isaac Asimov en 1942. Estas leyes dictan el com-portamiento que deben seguir los robots hacia los humanos.

M-file. Archivo de Matlab con extensi´on .m el cual puede ser una funci´on o un pro-cedimiento.

(15)

´INDICE GENERAL 9

Matriz de rotaci´on. Matriz de tama˜no 3 × 3 que indica la orientaci´on de un sis-tema de coordenadas B con respecto a un sistema de coordenadasA. Una de sus propiedades es que es una matriz ortonormal.

Matriz homog´enea de transformaci´on. Matriz de tama˜no 4×4 que contiene infor-maci´on sobre la orientaci´on (matriz de rotaci´on) y la posici´on (vector de posici´on) de una sistema de coordenadas con respecto a uno anterior. Esta matriz es uti-lizada para resolver el problema cinem´atico directo de un robot.

MAX232. Circuito integrado que convierte los niveles RS232 (+12 y -12 V) a voltajes TTL (0 a +5 V) y viceversa.

Microchip. Empresa que se encarga de la fabricaci´on y comercializaci´on de los micro-controladores PIC, as´ı como toda una gama de circuitos integrados.

Microcontrolador. Es un circuito integrado programable que contiene todos los com-ponentes necesarios para controlar el funcionamiento de una tarea determinada, esto es, posee como elementos b´asicos memoria RAM, memoria ROM, y puertos de entrada/salida en el circuito integrado.

Octave. Es un lenguaje de alto nivel utilizado en c´alculo num´erico. Es software libre. Esta provisto con una interfaz de l´ınea de comandos. Octave ten´ıa como prop´osito inicial ser un software de ayuda para un libro de texto de dise˜no de reactores qu´ımicos, escrito por James B. Rawlings de la Universidad de Wisconsin-Madison y John G. Ekerdt de la Universidad de Texas.

Par´ametros Denavit-Hartemberg. Cuatro valores que describen a un v´ınculo de un robot. Dos cantidades describen al v´ınculo en s´ı, y los otros dos describen su conexi´on con el v´ınculo adyacente. Los cuatro par´ametros quedan resumidos de la siguiente manera.

ai = la distancia de Zi a Zi+1 medida sobreXi.

αi = el ´angulo de Zi a Zi+1 medido sobre Xi.

di = la distancia de Xi−1 aXi medida sobreZi.

θi = el ´angulo de Xi1 a Xi medido sobre Zi.

PIC. (Peripherical Interface Controller). Una familia de microcontroladores de la em-presa Microchip.

PIC16F84A. Microcontrolador de la gama media de la empresa Microchip.

(16)

Protocolo. Define el formato y la secuencia de los mensajes intercambiados entre dos o m´as entidades que entablan una comunicaci´on, as´ı como las acciones que se toman en la transmisi´on y recepci´on de un mensaje u otro evento.

PUMA. (Programmable Universal Manipulation Arm) Robot de tipo antropom´orfico.

PWM. (Pulse Width Modulation) Modulaci´on de ancho de pulso. T´ecnica utilizada para posicionar el eje de un servomotor en diferentes ´angulos. Su funcionamiento se basa b´asicamente en un tren de pulsos con un frecuencia de 50 a 60 Hz, y un ciclo ´util de 1 ms a 2 ms. El menor ciclo ´util posiciona el eje del servomotor en un extremo y el mayor ciclo ´util posiciona el eje del servomotor en el otro extremo, los ciclos ´utiles intermedios posicionan el eje del servomotor en posiciones intermedias.

RFB. (Remote Framebuffer) Protocolo para acceso remoto a interfaces gr´aficas de usuario.

Robot. Es un manipulador reprogramable y multifuncional dise˜nado para mover ma-teriales, partes, herramientas o artefactos especializados a trav´es de movimien-tos variables programados para la realizaci´on de una variedad de tareas (Robot Industries Association). Es un manipulador autom´aticamente controlado, repro-gramable, multiuso, programable en tres o m´as ejes, que pueden estar fijos en un lugar o movilizarse para ser usado en aplicaciones de automatizaci´on industrial (International Organization for Standardization ).

Robot Da Vinci. Sistema rob´otico utilizado para la realizaci´on de cirug´ıas. El sistema consta de una consola de control, donde el cirujano se sienta a manipular el robot, a una distancia del paciente. Los instrumentos del robot est´an miniaturizados y son muy finos (de 2-4 mm), con una excelente articulaci´on que permite siete grados de libertad.

RobotSolid. Utiler´ıa de Matlab que permite modelar robots, as´ı como crear inter-faces gr´aficas de usuario para su manipulaci´on en entornos de simulaci´on. Esta herramienta se basa en procedimientos y funciones con el fin de crear los cuerpos geom´etricos que representan las partes que conforma un robot.

Robotics Toolbox. Conjunto de funciones en Matlab desarrollada por Peter I. Corke que facilita la comprensi´on de los conceptos utilizados en rob´otica. Esta herra-mienta provee una interfaz gr´afica para la tangibilidad de los conceptos.

Rossum‘s Universal Robot. Obra literaria del escritor checo Karel Capek escrita en 1921, donde se utiliza por vez primera la palabra robot para designar a los seres creados para realizar el trabajo de los seres humanos.

(17)

´INDICE GENERAL 11

SCARA. (Selective Compliant Assembly Robot Arm)

Servidor. Programa que se ejecuta en un sistema terminal que presta un servicio a un sistema terminal que lo solicita.

Servomotor. Conocido generalmente como “servo” o “servo de modelismo”, es un dis-positivo actuador que tiene la capacidad de ubicarse en cualquier posici´on dentro de su rango de operaci´on, y de mantenerse estable en dicha posici´on. Est´a formado por un motor de corriente continua, una caja reductora y un circuito de control, y su margen de funcionamiento generalmente es de menos de una vuelta completa.

Sistema de referencia. Sistema de coordenadas ortogonales que describe la posici´on y orientaci´on de los objetos en su propio sistema y que puede describir tambi´en otros sistemas en su sistema dado que existe una traslaci´on y una rotaci´on que los relaciona.

Software. Se refiere al equipamiento l´ogico o soporte l´ogico de un sistema digital, y comprende el conjunto de los componentes l´ogicos necesarios para hacer posible la realizaci´on de una tarea espec´ıfica. Dentro de la categor´ıa de software entran los sistemas operativos, y toda la gama de aplicaciones que corren sobre ellos.

Teleoperaci´on. Conjunto de tecnolog´ıas que comprenden la operaci´on o gobierno a distancia de un dispositivo por un ser humano.

Telepresencia. Situaci´on o circunstancia que se da cuando un ser humano tiene la sen-saci´on de encontrarse f´ısicamente en el lugar remoto. La telepresencia se consigue realimentando coherentemente al ser humano suficiente cantidad de informaci´on sobre el entorno remoto.

Toolbox. Conjunto de funciones y procedimientos en Matlab que en conjunto desa-rrollan una aplicaci´on espec´ıfica.

Torque. Es la tendencia a producir un cambio en el movimiento rotacional. Esta dado por, τ = F r, donde τ es el torque, F la fuerza aplicada y r el brazo de palanca que se mide en forma perpendicular a la l´ınea de acci´on de la fuerza F.

Trama. Sistema de coordenadas.

V´ınculo. Enlace.

(18)

VNC Server. Servidor de VNC.

VNC Viewer. Cliente de VNC.

Zona local. En teleoperaci´on, lugar donde el operador humano realiza la manipulaci´on y control a distancia de un dispositivo en otro lugar f´ısico.

(19)

´Indice de figuras

1.1. Sistema de teleoperacion de un brazo rob´otico . . . 26

1.2. Diagrama de bloques del sistema de teleoperaci´on propuesto. . . 31

2.1. Analog´ıa de un brazo humano con un brazo rob´otico. . . 35

2.2. Diferentes configuraciones de robots con 3 grados de libertad. . . 36

2.3. Brazo manipulador Eduarm 5Axis . . . 37

2.4. Medidas f´ısicas del brazo manipulador, vista superior . . . 39

2.5. Medidas f´ısicas del brazo manipulador, vista frontal . . . 40

2.6. Medidas f´ısicas del brazo manipulador, vista lateral . . . 41

2.7. Medidas f´ısicas de la pinza del brazo manipulador . . . 42

2.8. Sistemas de referencia obtenidos a partir de las articulaciones y enlaces de un robot manipulador . . . 43

2.9. Par´ametros Denavit-Hartemberg . . . 45

2.10. Sistemas de referencia y par´ametros DH del brazo manipulador Eduarm 5Axis . . . 52

2.11. Sistemas de referencia y par´ametros DH de la pinza del brazo manipu-lador Eduarm 5Axis . . . 53

3.1. Diagrama de terminales del PIC16F84A . . . 56

3.2. (a) conector DB9 macho. (b) conector DB9 hembra. (c) conector DB25 macho. (d) conector DB25 hembra. . . 58

3.3. Circuito integrado MAX232 . . . 59

3.4. Conexi´on del MAX232 y el PIC16F84A al Puerto Serie . . . 60

3.5. Diagrama a bloques de la electr´onica del servomotor . . . 61

3.6. Construcci´on interna del servomotor . . . 62

3.7. Construcci´on interna de un servomotor . . . 62

3.8. Fabricantes de servomotores. Conectores y cables. . . 63

3.9. PWM . . . 64

3.10. Las 10 se˜nales PWM que genera el PIC16F84A con su menor ciclo de trabajo ´util . . . 68

3.11. Las 10 se˜nales PWM que genera el PIC16F84A con su mayor ciclo de trabajo ´util . . . 68

3.12. Las 10 se˜nales PWM que genera el PIC16F84A con diferentes ciclos de trabajo ´util . . . 69

(20)

3.13. Tarjeta controladora de sevomotores. . . 70

3.14. Tarjeta controladora de sevomotores. . . 72

4.1. Representaci´on del brazo Eduarm 5Axis en RobotSolid . . . 87

4.2. Ubicaci´on de los controles de la interfaz gr´afica de usuario . . . 88

4.3. Modificaci´on del directorio actual en Matlab. . . 91

4.4. Agregar la utiler´ıa RobotSolid en el path de Matlab. . . 93

4.5. Agregar la utiler´ıa RobotSolid en el path de Matlab. . . 93

4.6. Visualizaci´on de la GUI cuando se oprime el bot´on Home. . . 95

4.7. Representaci´on de los sistemas de coordenadas del brazo Eduarm 5Axis en RobotSolid . . . 96

4.8. Vista lateral (plano xz) del brazo Eduarm 5Axis en RobotSolid . . . 97

4.9. Vista lateral (plano yz) del brazo Eduarm 5Axis en RobotSolid . . . 97

4.10. Vista superior (plano xy) del brazo Eduarm 5Axis en RobotSolid . . . 98

4.11. Funci´on del bot´on Actualizar. . . 99

4.12. Funci´on de los controles que manipulan los valores de los ´angulos de elevaci´on y azimuth. . . 101

4.13. Funci´on del bot´on + (Acercar). . . 101

4.14. Funci´on del bot´on - (Alejar). . . 102

4.15. Pregunta de confirmaci´on para salir del programa . . . 103

4.16. Interfaz gr´afica de usuario de un robot tipo SCARA en RobotSolid . . 104

5.1. Sin aislamiento . . . 109

5.2. Aislando la referencia . . . 109

5.3. Aislando el controlador . . . 110

5.4. TigerVNC, ventana del cliente VNC. . . 111

5.5. Tiger VNC, ventana de autentificaci´on del cliente VNC. . . 111

5.6. Acceso remoto al servidor mediante VNC. . . 112

5.7. Acceso remoto al servidor mediante VNC. . . 113

5.8. Acceso remoto al servidor mediante VNC. . . 113

(21)

´Indice de tablas

2.1. Caracter´ısticas t´ecnicas del robot Eduarm 5Axis . . . 37 2.2. Par´ametros Denavit-Hartemberg del robot Eduarm 5Axis . . . 49

3.1. Funci´on de las terminales en el conector DB9 . . . 58 3.2. Funci´on de los conectores de la tarjeta controladora de servomotores. . 73 3.3. Funci´on de los jumpers dependiendo su conexi´on. . . 73 3.4. Protocolo de comunicaci´on de la CPU con la tarjeta controladora de

servomotores. . . 73 3.5. Posiciones m´ınimas y m´aximas de los servomotores desenergizados que

se han definido para operar en el brazo Eduarm 5Axis . . . 78 3.6. Posiciones m´ınimas y m´aximas de los servomotores cuando est´an

ener-gizados y funcionan en la configuraci´on est´andar de la tarjeta controladora 78

4.1. Campos modificados en el control de tiposlider . . . 88 4.2. Parametros Denavit-Hartemberg del robot SCARA . . . 104 B.1. Relaci´on de datos y posiciones en el servomotor de la base. . . 123 B.2. Relaci´on de datos y posiciones de los servomotores del hombro del Eduarm

5Axis . . . 124 B.3. Relaci´on de datos y posiciones de los servomotores del hombro del Eduarm

5Axis . . . 126 B.4. Relaci´on de datos y posiciones de los servomotores del hombro del Eduarm

5Axis . . . 127 B.5. Relaci´on de datos y posiciones de los servomotores del hombro del Eduarm

5Axis . . . 129

(22)
(23)

Resumen

En este trabajo se presenta la propuesta de una plataforma para un sistema de teleoperaci´on capaz de funcionar como laboratorio para pruebas m´as espec´ıficas en trabajos futuros. Este sistema ser´a capaz de manipular un brazo rob´otico a distancia usando internet como canal de comunicaci´on. Este trabajo es de car´acter multidisci-plinario, donde se requieren de conocimientos en las ´areas de Rob´otica, Programaci´on, Comunicaciones, entre otras.

Para manipular el brazo robot se necesita contar con un software que permita simular los movimientos del robot para tener un panorama visual, es por ello que se ha desa-rrollado una utiler´ıa en la plataforma de Matlab que se ha denominado “RobotSolid”. Esta herramienta tiene un prop´osito m´as general al poder desarrollar modelos tridimen-sionales de otros robots, sin embargo, en este trabajo se enfocar´a en el robot Eduarm 5Axis por ser el dispositivo que se manipular´a remotamente.

Es necesario obtener las medidas f´ısicas del robot para poder realizar la repre-sentaci´on tridimensional en la utiler´ıa RobotSolid, por lo que tambi´en se presentar´an varios planos t´ecnicos que proporcionan esa informaci´on. Estos planos han sido reali-zados en el presente trabajo, ya que el proveedor del brazo robot no proporciona tal documentaci´on. Con esos datos es posible lograr la aplicaci´on en una interfaz gr´afica de usuario que permita mover el robot mediante controles gr´aficos.

Para describir el movimiento que realiza el robot Eduarm 5Axis y en general para todos los robots, se requiere realizar el an´alisis matem´atico que proporcione las ecua-ciones que rigen la cinem´atica del robot manipulador. En este trabajo se presentar´a el desarrollo de la cinem´atica directa del manipulador dejando la cinem´atica inversa para un trabajo futuro.

La comunicaci´on entre el software RobotSolid y el robot Eduarm 5Axis se reali-zar´a por el puerto serie de la computadora mediante una tarjeta controladora de ser-vomotores. Existen dos propuestas: la primera consiste en una tarjeta que tiene como n´ucleo un microcontrolador PIC16F84A y el circuito integrado MAX232; la segunda propuesta se basa en la utilizaci´on de una tarjeta controladora de servomotores que posee un microcontrolador AVR de la empresa Atmel.

(24)

Adem´as de los elementos de hardware de la tarjeta controladora de servomotores, es indispensable el desarrollo de un programa que interprete adecuadamente los datos recibidos de la computadora. En el caso del microcontrolador PIC el programa esta escrito en lenguaje ensamblador por tener una mayor precisi´on en el manejo del tiempo de ejecuci´on de las instrucciones. En el caso de la tarjeta de fabrica el microcontrolador AVR ya esta grabado por lo que no se sabe el conjunto de instrucciones grabados, es por ello que se realizo la propuesta con el microcontrolador PIC para tener una idea del funcionamiento de esta tarjeta. El programa desarrollado es capaz de generar pulsos que son modulados mediante la t´ecnica PWM (lo mismo se realiza en la tarjeta de fabrica). Estas se˜nales son las que gobiernan el ´angulo de posicionamiento de los ejes de los servomotores. De igual manera el programa del microcontrolador es capaz de actualizar los datos provenientes de la utiler´ıa RobotSolid.

(25)

Abstract

This thesis describes the development of a teleoperation tested that will be able to work as laboratory in future researches for more specific experiments. The system will be able to manipulate a robotic arm using internet as channel communication. The research is multidisciplinary so it requires the knowledge of several subjects such as: Robotics, Programming, Communications between others.

We need to develop a simulation software to manipulate remotely the robotic arm. This software will show the motions of real robotic arm. It was developed on Matlab platform called “RobotSolid”. This tool is more general so it can develop tridimensional representations of several robots. However, in this thesis we will describe the tridimen-sional representation of Eduarm 5Axis robotic arm which is our teleoperated device.

To realize the tridimensional representation of a robotic arm using RobotSolid is necessary to know the measures of their components so we include Eduarm 5Axis tech-nical drawings in the text. The techtech-nical drawings must be realized in this thesis because the manufacturer doesn’t provide it and we need these to develop the graphic user in-terface to manipulate the robotic arm through graphical controllers.

To describe the motion of robots without consider the forces and torques causing this motion we must realize the mathematical analysis to obtain the kinematics equa-tions. In the case of Eduarm 5Axis, we just present its forward kinematics analysis.

The communication between RobotSolid and Eduarm 5Axis robot is realized through the serial port. In this way the computer sends data packets to the servo controller based on the PIC16F84A microcontroller and MAX232 integrated circuit. MAX232 is RS232 to TTL level converter and vice versa, this integrated circuit allow to connect the mi-crocontroller to the computer.

Furthermore, it is necessary develop the program that proceses the data received from the computer to one signal that manipulates servomotors. To reach this objec-tive the program was written in Assembly language. Thus it is possible launch the instructions more precisely. The program developed generates the PWM (Pulse Width Modulation) technique, it consists in generate signals with different pulse width. Each pulse width represents a different position of the servomotor. Also the microcontroller

(26)

program will be able to update the data received from the RobotSolid.

(27)

Objetivos

Objetivo general

Desarrollar la base de una plataforma de teleoperaci´on utilizando internet como medio de comunicaci´on y un brazo rob´otico educativo como el dispositivo remoto a manipular.

Objetivos particulares

Manipular los movimientos del brazo robot Eduarm 5Axis a trav´es de internet mediante el empleo de un software de simulaci´on.

Programar la interfaz gr´afica de usuario (software de simulaci´on) que permita la visualizaci´on tridimensional del robot Eduarm 5Axis. Por medio de controles gr´aficos intuitivos se debe manipular los movimientos del robot.

Desarrollar el hardware basado en el microcontrolador PIC16F84A que interprete los datos enviados del software de simulaci´on para generar las se˜nales necesarias para el adecuado posicionamiento de los servomotores (elementos motrices del brazo robot).

Utilizar una tarjeta controladora de servomotores para producir movimientos en el robot, esto se debe realizar conjuntamente con la interfaz gr´afica de usuario. Sincronizar el software de simulaci´on con el hardware y el robot Eduarm 5Axis.

Realizar las pruebas de acceso remoto utilizando el software VNC que est´a dise˜nado sobre el protocolo RFB.

(28)
(29)

Cap´ıtulo 1

Introducci´

on

La teleoperaci´on de sistemas rob´oticos permite a un operador humano transferir su capacidad y destreza para realizar una tarea determinada en ambientes remotos. En general, los sistemas de teleoperaci´on est´an compuestos por un sitio local, donde un operador maneja un manipulador llamado “maestro”; un sitio remoto, donde se encuentra un manipulador llamado “esclavo”, el cual sigue el movimiento del maestro y que interact´ua con el mundo f´ısico; y un canal de comunicaci´on que vincula ambos sitios. El maestro es utilizado para generar comandos (usualmente posici´on y velocidad) hacia el manipulador remoto, mientras que la fuerza debida a la interacci´on din´amica entre el esclavo y el medio, es retroalimentada hacia el operador humano, lo cual mejora enormemente el desempe˜no de una gran cantidad de tareas de interacci´on [13]. En los ´ultimos a˜nos y gracias al avance en las comunicaciones se ha propiciado el uso de internet, el caso m´as interesante de medio de comunicaci´on entre los sitios local y remoto de un sistema de teleoperaci´on, teniendo en cuenta su uso masivo a trav´es del mundo con costos de transmisi´on accesibles. La posibilidad de intercambiar datos entre maestro y esclavo podr´ıa permitir un sentido real de telepresencia, con capacidad de tocar y “sentir” objetos y personas a distancia. As´ı, un amplio rango de aplicaciones se puede abrir para esta tecnolog´ıa como son:

Aplicaciones espaciales. Experimentaci´on y exploraci´on planetaria, mantenimiento y operaci´on de sat´elites, construcci´on y mantenimiento de estaciones.

Aplicaciones en la industria nuclear. Tratamiento y manipulaci´on de sustancias radiactivas, movimiento por entornos contaminados sin peligro para el ser hu-mano.

Aplicaciones submarinas. Inspecci´on, mantenimiento y construcci´on de instalaciones submarinas, miner´ıa submarina e inspecci´on del suelo marino.

Aplicaciones militares. Sistemas de monitorizaci´on remota.

Aplicaciones en la industria energ´etica. Mantenimiento de l´ıneas de alta tensi´on.

Aplicaciones m´edicas. Telecirug´ıa asistencia a personas mayores o minusv´alidas.

(30)

Para una descripci´on m´as detallada de cada campo se sugiere revisar [24], para las aplicaciones espaciales [16] y para las aplicaciones m´edicas [7] y [26].

Sin embargo, internet presenta problemas para el desarrollo de aplicaciones de tele-operaci´on de robots a distancia, ya que el mismo adiciona retardos variantes en el tiempo adem´as de posibles p´erdidas de paquetes de informaci´on, distorsionando las se˜nales de comandos y realimentaci´on del sistema de teleoperaci´on. La presencia de retardo de tiempo y p´erdida de informaci´on en el sistema puede inducir inestabilidad o mal desempe˜no en el mismo, por lo que es conveniente estimar algunas caracter´ısticas del canal de comunicaci´on con el fin de incluirlas en las estrategias de control del sis-tema teleoperado. En la actualidad se han propuesto diferentes trabajos con el fin de tomar en cuenta las propiedades de internet en los modelos del sistema, sin embargo, debido a la constante evoluci´on de internet estas propuestas pueden irse mejorando.

En este trabajo se propone la construcci´on y puesta en marcha de una plataforma de un sistema teleoperado, donde el sistema esclavo es un brazo rob´otico, con el fin de tener una base de pruebas para estudios en diferentes ´areas como son las telecomuni-caciones y la mecatr´onica y el control.

A continuaci´on se presenta una introducci´on a dos de las principales etapas de un sistema teleoperado: los robots y el medio de comunicaci´on: internet.

1.1.

Robots

A lo largo de los ´ultimos a˜nos, la mente de muchas personas ha estado invadida por los pensamientos reflejados en las obras de ciencia ficci´on, entre ellas se encuentran aquellos seres con formas y comportamientos humanos a los que se les ha denominado

robots. La primera vez que se hizo una menci´on de estos seres utilizando el t´ermino

robot fue en 1921, en la comedia R.U.R. (“Rossum‘s Universal Robot”) [6] del escritor Karel Capek. Tanto ha sido la aceptaci´on de estos seres en la literatura que el conocido divulgador de ciencia y escritor de ciencia ficci´on Isaac Asimov escribi´o un conjunto de normas conocidas como “las tres leyes de la rob´otica1

” que la mayor´ıa de los robots de sus cuentos y novelas est´an dise˜nados para cumplir. Aparecidas por primera vez en el relatoRunaround [2] (1942), establecen lo siguiente:

1. Un robot no debe da˜nar a un ser humano o por su inacci´on, dejar que un ser humano sufra da˜no.

2. Un robot debe obedecer las ´ordenes que le son dadas por un ser hu-mano, excepto si estas ´ordenes entran en conflicto con la Primera Ley.

1

(31)

1.1. ROBOTS 25 3. Un robot debe proteger su propia existencia, hasta donde esta

protec-ci´on no entre en conflicto con la Primera o la Segunda Ley.

No obstante, los robots presentados en la obras literarias discrepan mucho de los que existen en la vida real. En las obras literarias poseen una excelente forma antropom´orfi-ca y un nivel de inteligencia bastante elevado, ya que pueden tomar decisiones propias, en cambio en el ´area tecnol´ogica esto es muy complicado, debido a que se requieren muchos procesos y muchos c´alculos de diferente ´ındole para poder ejecutar una acci´on que ha sido previamente programada.

La palabra robot proviene del t´ermino checo robota que significa trabajo. Aunque el significado del t´ermino robot es de sobra conocido por todos, no lo es tanto su ori-gen etimol´ogico: seg´un el autor italiano Ripellino tambi´en tiene relaci´on con el antiguo eslavorob(“esclavo”). El t´ermino en s´ı se atribuye a Capek, pero fue su hermano Josef el que, al estar pintando, seg´un se cuenta, y ser preguntado por Karel por que palabra le parec´ıa a ´el que pod´ıa designar a los androides trabajadores que ten´ıa en mente, far-full´o entre pinceles algo parecido arobota. No obstante y aunque el t´ermino es pues de Josef, el concepto de robot es fruto de la mente de Karel, al que se le ocurri´o la idea de los robots un d´ıa a la vuelta a su casa en Praga en hora punta, con el tranv´ıa atestado de gente. (Daniel Sa´ız Lorca, “La literatura checa de ciencia ficci´on durante el per´ıodo de entreguerras”. p´ag. 145-146). El t´erminorobota es muyad hoc con la interpretaci´on emp´ırica actual de la funci´on que desempe˜nan los robots en la industria. El ser humano tiene en mente librarse de aquellas tareas peligrosas, indeseables o demasiados tediosas, que mejor para este prop´osito, que utilizar a los “esclavos” descritos hace ya casi un siglo atr´as.

Es interesante tomar en cuenta como muchos conceptos cient´ıficos y tecnol´ogicos que no son utilizados directamente en la vida cotidiana son totalmente desconocidos para la mayor´ıa de las personas, sin embargo, como escribe Barrientos “A´un, sin tener datos reales, no parece muy aventurado suponer que de preguntar al ciudadano medio sobre que es un robot industrial, ´este demostrar´ıa tener, cuanto menos, una idea de su aspecto y de su utilidad.” [3]. Esto ´ultimo pone de manifiesto la gran influencia que han tenido las obras literarias y cinematogr´aficas en la concepci´on de dicho concepto.

Los robots var´ıan en tama˜no y en dise˜no, muy pocos de ellos tienen apariencia hu-mana como lo se˜nalan las obras de ciencia ficci´on. La gran mayor´ıa ellos son estructuras fijas con un ´unico brazo capaz de levantar objetos y utilizar herramientas. Los ingenieros tambi´en han desarrollado robots m´oviles equipados con c´amaras de televisi´on para la visi´on y con sensores electr´onicos de contacto. Estos robots son controlados mediante instrucciones almacenadas en su equipo, retroalimentaci´on de sensores y controlados remotamente. Los cient´ıficos han usado tales robots para explorar el fondo del mar en la Tierra y para explorar la superficie de Marte2

.

2

(32)

Figura 1.1: Sistema de teleoperacion de un brazo rob´otico

Hoy en d´ıa en muchas industrias se utilizan los brazos rob´oticos principalmente para mover, seleccionar, perforar o acomodar objetos, un ejemplo es la industria automotriz, que utiliza varios brazos robots en las tareas de cortar, soldar, transportar y ensamblar las diferentes partes de un autom´ovil.

1.1.1.

Robots teleoperados

Los robots teleoperados son definidos por la NASA (National Aeronautics and Space Administration) en 1978 como aquellos dispositivos rob´oticos con brazos manipuladores, sensores y con cierto grado de movilidad, controlados remotamente por un operador hu-mano de manera directa o a trav´es de una computadora. En la Figura 1.1 se muestra de manera muy general y simplificada un sistema teleoperado en donde una persona en una zona local mediante hardware y software espec´ıfico puede controlar un dispositivo en una zona remota, utilizando un canal de comunicaci´on, el cual puede ser al´ambrico o inal´ambrico.

A continuaci´on se dar´a un breve bosquejo hist´orico de lo que ha sido el desarrollo de los robots telemanipuladores a lo largo de su corta pero fruct´ıfera vida.

(33)

1.1. ROBOTS 27 acciones, sent´ıa a trav´es del dispositivo maestro, las fuerzas que el esclavo ejerc´ıa sobre su entorno. [3]

A˜nos m´as tarde, en 1954 Goertz hizo uso de la tecnolog´ıa electr´onica y del ser-vocontrol, sustituyendo as´ı la transmisi´on mec´anica y desarroll´o as´ı el primer telema-nipulador con servocontrol bilateral. Otro de los pioneros de la telemanipulaci´on fue Ralph Mosher, ingeniero de la empresaGeneral Electricque en 1958 desarroll´o un dis-positivo denominado Handy-Man, que consist´ıa en dos brazos mec´anicos teleoperados mediante un maestro del tipo denominado exoesqueleto. Junto a la industria nuclear, a lo largo de los a˜nos sesenta la industria submarina comenz´o a interesarse por el uso de los telemanipuladores. A este inter´es se sumo la industria espacial en los a˜nos setenta [3].

Al hablar de teleoperaci´on se pueden considerar diferentes niveles de cooperaci´on. La

teleoperaci´on convencional define la existencia de un dispositivo maestro que controla directamente la operaci´on de un robot esclavo que replica sus movimientos y acciones, su campo de aplicaci´on cubre principalmente operaciones que no pueden ser realizadas por personas, no por su complejidad, sino por la dificultad o imposibilidad de acceder al ´area de operaci´on. Lateleoperaci´on asistidasupone la interposici´on de una estrategia de control intermedia entre maestro y esclavo que permite mejorar las cualidades del operador. Finalmente puede considerarse el concepto decomanipulaci´ono teleoperaci´on

in situ, es decir, operando en conjunto un humano y un robot [7].

Para tener una perspectiva mas amplia de una aplicaci´on espec´ıfica, se explicar´a a grandes rasgos acerca del sistema Da Vinci, un sistema rob´otico que se teleopera para facilitar las tareas de cirug´ıa en el ambiente m´edico, adem´as de garantizar mayor se-guridad para el paciente.

En la actualidad uno de los sistemas rob´oticos m´as utilizados para la realizaci´on de cirug´ıas es Da Vinci, nombre dado en honor a Leonardo Da Vinci3

(artista, inventor, descubridor, astr´onomo, pintor, anatomista, ingeniero y militar). El sistema consta de una consola de control, donde el cirujano se sienta a manipular el robot, a una dis-tancia del paciente. Los instrumentos del robot est´an miniaturizados y son muy finos (de 2-4 mm), con una excelente articulaci´on que permite siete grados de libertad de movimientos. El robot dispone de tres brazos quir´urgicos articulados (los m´as moder-nos disponen de 4 brazos): dos quir´urgicos y uno central que porta las luces y c´amara de v´ıdeo, con dos im´agenes de doble canal, que se funden y dan una imagen estere-osc´opica tridimensional. En el caso de contar con cuatro brazos, ´este hace de ayudante traccionador separador. Completa el robot, una torre de monitorizaci´on y visualizaci´on para el aprendizaje a tiempo real [34].

3

(34)

Es importante destacar que para realizar la implementaci´on y el dise˜no de una aplicaci´on con un sistema rob´otico, ya sea utilizando t´ecnicas de teleoperaci´on o no, se requiere del esfuerzo de ingenieros y t´ecnicos de diferentes ´areas del conocimiento (rob´otica, programaci´on, mec´anica, electr´onica, etc.) debido a la naturaleza interdisci-plinaria de la aplicaci´on.

En [31] y [30] se da una excelente recopilaci´on hist´orica desde la antig¨uedad hasta la actualidad de los acontecimientos importantes relacionados con la rob´otica y todas las ramas afines. En el caso particular de la aplicaci´on m´edica mediante el sistema Da Vinci hay que remitirse a [34] y a [33].

1.2.

Internet

La infraestructura de comunicaci´on m´as grande que proporciona un servicio global y que conecta millones de computadoras y en futuro no muy lejano miles de millones, se llama internet. Adem´as, internet est´a siendo conectada actualmente con la tecnolog´ıa m´ovil e inal´ambrica, lo que presagia toda una gama de nuevas aplicaciones con valor agregado y nuevos enfoques a las ya existentes[19].

1.2.1.

Historia de internet

A finales de la d´ecada de los sesenta el Departamento de Defensa de los Estados Unidos promovi´o la creaci´on de una red de comunicaci´on que permitiera la interco-municaci´on de sus proveedores y centros de investigaci´on. A este proyect´o se le de-nomin´o ARPANET (Advanced Research Projects Agency Network) y se le considera el precursor de la actual internet.

Durante la d´ecada de 1970 hab´ıan surgido varios protocolos para su uso en la red de la Agencia de Proyectos de Investigaci´on Avanzada (ARPANET por sus siglas en ingl´es), sin embargo, dichos protocolos no eran compatibles, por lo que la conexi´on de redes era muy dif´ıcil y, por lo tanto el intercambio de comunicaci´on era demasiado complicado. Debido a ello, ARPA encarg´o el desarrollo de un nuevo protocolo deno-minado Transmission Control Protocol/ Internet Protocol (TCP/IP) para su uso en ARPANET. Dicho protocolo deber´ıa permitir la interconexi´on de redes heterog´eneas mediante el intercambio derouters o de gateways (adaptadores). El cambio a este pro-tocolo se produjo en enero de 1983 y debido a que el resultado de esta uni´on fue una red de redes, se le denomin´o internet[29].

(35)

1.3. ALCANCE DE LA TESIS 29 estas necesidades, en 1992 surgi´o la Web tal y como la conocemos hoy: un foro de in-tercambio de informaci´on y un mercado en crecimiento accesible a cualquier usuario independientemente de su grado de conocimiento t´ecnico[29].

1.2.2.

Descripci´

on del servicio que ofrece internet

Internet permite aplicaciones distribuidas que se ejecutan en sistemas terminales para intercambiar datos entre ellos. Tales aplicaciones son: navegaci´on web, correo electr´onico, mensajer´ıa instant´anea, acceso remoto, flujo de audio y video, tele-fon´ıa IP, juegos en l´ınea, transferencia de archivos (FTP), compartir archivos entre iguales (P2P), mercado electr´onico, banca electr´onica, etc.

Internet proporciona dos servicios a sus aplicaciones: un servicio fiable orientado a conexi´on, y unun servicio no fiable orientado a no conexi´on. El primer servicio garantiza que los datos transmitidos de un equipo emisor a otro receptor ser´an entregados ´ıntegramente y en el orden correcto. El segundo servicio, no garantiza la entrega de los datos.

Internet no proporciona un servicio de tiempo m´aximo de entrega de los datos. Esto depende de la cantidad de tr´afico y demanda que exista en el momento de la petici´on del servicio.

1.3.

Alcance de la Tesis

En la Fig. 1.2 se presenta un diagrama de la plataforma de teleoperaci´on propuesta en este trabajo. Se tienen dos ambientes; el local y el remoto; en el ambiente remoto existen 3 etapas principales que son:

Servidor. Es la computadora que posee los recursos para albergar al software de simulaci´on y manipulaci´on del robot, la realizaci´on de este software, llamado RobotSolid es una de las contribuciones principales de este trabajo.

Acondicionamiento y Sincronizaci´on. Es el hardware que interpreta los datos en-viados de la PC y los acondiciona para posicionar correctamente los servomotores del brazo Eduarm 5Axis. Este hardware fue realizado con la ayuda de un micro-controlador.

Esclavo. Es el brazo robot – Eduarm 5Axis– que se teleopera remotamente. Esta constituido por servomotores y posee cuatro grados de libertad.

En el ambiente local, que es donde se encuentra el usuario virtual consta solo de una etapa:

(36)

En este trabajo utilizamos Internet como medio de comunicaci´on entre los ambi-entes local y remoto.

1.3.1.

Organizaci´

on de la Tesis

En trabajo de tesis esta organizado de la siguiente forma, en el Cap´ıtulo 2 se aborda la caracterizaci´on del brazo Eduarm 5Axis y se procede a la obtenci´on de las ecuaciones de su cinem´atica directa, tambi´en se muestra la informaci´on t´ecnica del brazo robot. En el Cap´ıtulo 3 se propone el hardware que comunica la computadora con el brazo de robot, el circuito est´a integrado principalmente por el microcontrolador PIC16F84A y el circuito integrado MAX232. En el Cap´ıtulo 4 se aborda el tema del software de sim-ulaci´on creado en la plataforma de Matlab, al que se le ha denominado “RobotSolid”, con la ayuda de esta utiler´ıa se explica como crear la aplicaci´on para la visualizaci´on tridimensional por medio de una interfaz gr´afica del brazo Eduarm 5Axis. En el Cap´ıtu-lo 5, se trata el tema de la comunicaci´on remota, en este caso, se ha optado por utilizar el software VNC para tal prop´osito.

(37)

1.3. ALCANCE DE LA TESIS 31

Internet

Maestro

Etapa de acondicionamiento

y sincronización

Esclavo

HARDWARE

Servidor

SOFTWARE

Ambiente remoto

[image:37.612.100.526.144.530.2]

Ambiente local

(38)
(39)

Cap´ıtulo 2

Caracterizaci´

on del brazo del

manipulador

En este cap´ıtulo se expondr´an las caracter´ısticas t´ecnicas del brazo robot Eduarm 5Axis, esto servir´a de base para el desarrollo de las ecuaciones que describen el movimien-to del robot espec´ıficamente trataremos con la cinem´atica directa, para este desarrollo utilizaremos la notaci´on de Craig[11]. Adem´as, tanto las caracter´ısticas del robot como las ecuaciones cinem´aticas ser´an utilizadas para poder dar la forma y el movimiento a la interfaz gr´afica desarrollada en la utiler´ıa RobotSolid que se describe en el Cap´ıtulo 4.

2.1.

Brazos manipuladores

La mayor parte de los robots industriales actuales son esencialmente brazos ar-ticulados que realizan alguna tarea espec´ıfica en un proceso de manufacturaci´on. De hecho, seg´un la definici´on del Robot Institute of America, “un robot industrial es un manipulador programable multifuncional dise˜nado para mover materiales, piezas o her-ramientas, mediante movimientos variados, programados para la ejecuci´on de distintas tareas”. La mayor´ıa de los robots manipuladores comerciales tienen esencialmente la misma arquitectura, la cual consiste de motores el´ectricos servocontrolados digitalmente en una cadena de enlaces seriales que usualmente no tienen m´as de seis ejes (seis grados de libertad1

en el caso de que cada eje represente un grado de libertad).

2.1.1.

Principales caracter´ısticas

Grados de libertad (GLD). Cada uno de los movimientos independientes (giros y desplazamientos) que puede realizar cada articulaci´on con respecto a la anterior. Son los par´ametros que se precisan para determinar la posici´on y la orientaci´on

1

La descripci´on de un objeto en un espacio tridimensional requiere de tres par´ametros para la posici´on y otros tres par´ametros para la orientaci´on, en total seis. En el caso de un robot que posea seis grados de libertad, los tres primeros GDL son utilizados para la descripci´on de la posici´on y los tres siguientes GDL son utilizados para la orientaci´on del efector final.

(40)

del elemento terminal del manipulador. El n´umero de grados de libertad del robot viene dado por la suma de los GLD2

de las articulaciones que lo componen.

Espacio de trabajo. Las dimensiones de los elementos del manipulador, junto a los grados de libertad, definen la zona de trabajo del robot, caracter´ıstica funda-mental en las fases de selecci´on e implantaci´on del modelo adecuado. La zona de trabajo se subdivide en ´areas diferenciadas entre s´ı, por la accesibilidad especifica del elemento terminal (efector final), es diferente a la que permite orientarlo verti-calmente o con el determinado ´angulo de inclinaci´on. Tambi´en queda restringida la zona de trabajo por los l´ımites de giro y desplazamiento que existen en las arti-culaciones. Algunos robots tienen espacios no utilizables tales como zonas muertas o singularidades.

Precisi´on de los movimientos. La precisi´on de movimiento en un robot industrial depende de tres factores:

La resoluci´on espacial, se define como el incremento m´as peque˜no de movimien-to en que el robot puede dividir su volumen de trabajo.

La exactitud, se refiere a la capacidad de un robot para situar el extremo de su mu˜neca en un punto se˜nalado dentro del volumen de trabajo.

La repetibilidad, se refiere a la capacidad del robot de regresar al punto pro-gramado las veces que sean necesarias.

Capacidad de carga. El peso que puede transportar el efector final del manipulador recibe el nombre de capacidad de carga. Este dato lo proporcionan los fabricantes, incluyendo el peso del propio efector final. Algunos fabricantes tambi´en especifican la carga inercial de los ejes de rotaci´on de la mu˜neca [20].

Velocidad. Se refiere a la velocidad m´axima que pueden alcanzar las articulaciones. La mayor´ıa de los fabricantes especifican una velocidad m´axima para cada una de las articulaciones individuales o para un punto espec´ıfico de la herramienta. Sin em-bargo, la velocidad promedio en un ciclo de trabajo es la velocidad caracter´ıstica de inter´es [20].

Tipo de actuadores. Los elementos motrices que generan el movimiento de las articu-laciones pueden ser, seg´un la energ´ıa que consuman, de tipo hidr´aulico, neum´atico o el´ectrico.

Programabilidad. Los modernos sistemas de robots admiten la programaci´on ma-nual, mediante un m´odulo de programaci´on. La programaci´on gestual y textual, controlan diversos aspectos del funcionamiento del manipulador.

2

(41)

2.1. BRAZOS MANIPULADORES 35

2.1.2.

Configuraciones

La estructura t´ıpica de un manipulador consiste en un brazo compuesto por elemen-tos con articulaciones entre ellos. En el ´ultimo enlace se coloca un efector final tal como una pinza o un dispositivo especial para realizar las operaciones requeridas.

A continuaci´on, se describen las principales configuraciones (por motivos de simpli-ficaci´on y comparaci´on se utilizan solamente 3 GDL).

Cartesiano. El posicionamiento se hace en el espacio de trabajo con las articulacio-nes prism´aticas. Esta configuraci´on se usa bien cuando un espacio de trabajo es grande y debe cubrirse, o cuando la exactitud consiste en la espera del robot. Posee tres movimientos lineales, es decir, tiene tres grados de libertad, los cuales corresponden a los movimientos localizados en los ejes X, Y y Z.

Cil´ındrico. El robot tiene un movimiento de rotaci´on sobre una base, una articulaci´on prism´atica para la altura, y una prism´atica para el radio. Este robot se ajusta bien a los espacios de trabajo redondos. Puede realizar dos movimientos lineales y uno rotacional, o sea, que presenta tres grados de libertad.

Esf´erico o Polar. Dos enlaces de rotaci´on y una prism´atica permiten al robot apuntar en muchas direcciones, y extender la mano a un poco de distancia radial. Los movimientos son: rotacional, angular y lineal.

Angular o antropom´orfico. El robot usa 3 enlaces de rotaci´on para posicionarse. Generalmente, el volumen de trabajo es esf´erico. Presenta una articulaci´on con movimiento rotacional y dos angulares. Estos tipos de robot con mayor n´umero de GDL se parecen al brazo humano, con una cintura, hombro, codo y mu˜neca, esta analog´ıa se muestra en la Fig. 2.1.

(42)

SCARA. Este brazo puede realizar movimientos horizontales de mayor alcance debido a sus dos articulaciones rotacionales. El robot de configuraci´on SCARA3

tambi´en puede hacer un movimiento lineal (mediante su tercera articulaci´on).

En la Fig. 2.2 se muestran los diagramas de las diferentes configuraciones de los robots mencionados anteriormente. Estos diagramas poseen s´olo 3 GDL ´unicamente para fines de comparaci´on, ya que existen robots con esas configuraciones pero con m´as GDL.

Figura 2.2: Diferentes configuraciones de robots con 3 grados de libertad.

Las tres configuraciones comerciales m´as comunes son: el brazo antropom´orfico, el tipo SCARA y el cartesiano. Dos robots industriales t´ıpicos son el PUMA ( Pro-grammable Universal Manipulation Arm- Brazo Manipulador Universal Programable) 560, un manipulador de 6 articulaciones angulares y el Yaskawa Motoman L-3, un robot con cinco grados de libertad y articulaciones angulares

2.1.3.

Brazo manipulador Eduarm 5Axis

El brazo manipulador utilizado en este trabajo es el robot Eduarm 5Axis mostra-do en la Fig. 2.3. Este robot es de tipo educativo y sobre este dispositivo se realizan las pruebas del correcto funcionamiento tanto del software y hardware que lo manipulan.

De acuerdo a la clasificaci´on de la secci´on anterior, el robot pertenece al tipo angu-lar o antropom´orfico. El manipulador posee 6 servomotores de precisi´on y una interface

3

(43)

2.1. BRAZOS MANIPULADORES 37 para control de servos con retroalimentaci´on de torque. Cada servomotor puede descri-bir movimientos de 0 a 180o

grados con una precisi´on de 0.7 o 0.35 en cada paso.

En cuanto al ´area de trabajo de un robot de estas caracter´ısticas y con solo tres en-laces (de longitudL) como se describi´o en la secci´on anterior, es una esfera de volumen (32/3)πL3

. Sin embargo, en caso del brazo Eduarm 5Axis, en la semiesfera inferior no se puede cubrir el volumen total, ello se debe a las restricciones f´ısicas que existen de-bido a que los propios elementos del robot, en especial la base. El radio de la esfera del espacio de trabajo del robot Eduarm es de 31,3 cm. En las Figs. 2.5 y 2.6) se observan las medidas que confirman la longitud de dicho radio.

En la Tabla 2.1 se enlistan las caracter´ısticas t´ecnicas del brazo Eduarm 5Axis [14]:

Torque de la base: 3,4-4,2 kg-cm. Torque del brazo: 6,8-8,4 kg-cm. Torque del codo: 3,4-4,2 kg-cm. Torque de la mu˜neca: 3,4-4,2 kg-cm. Precisi´on: 0.7/0.35 de grado. Alimentaci´on: 6 volts.

Totalmente extendido: 35 cm.

Tabla 2.1: Caracter´ısticas t´ecnicas del robot Eduarm 5Axis

(44)

En las Figuras 2.4, 2.5, 2.6 y 2.7 se muestran los planos t´ecnicos de los diferentes componentes del robot Eduarm 5Axis, cada uno de ellos tiene indicaciones que se˜nalan las medidas f´ısicas del robot. En la Fig. 2.4 se presenta la vista superior de la base del brazo robot con los elementos que tiene asociados (servomotores y tabletas que tienen la funci´on de enlaces r´ıgidos), en la Fig. 2.5 se tiene la vista frontal del robot Eduarm, en la Fig. 2.6 se presenta una vista lateral y por ´ultimo en la Fig. 2.7 se presenta la vista frontal de la pinza que funciona como efector final. Todos estos planos propor-cionan informaci´on de la ubicaci´on espacial de los elementos del robot, estos datos son indispensables para la modelaci´on tridimensional del robot.

La pinza es el efector final y merece un trato especial, primero porque no entra den-tro del an´alisis de la cinem´atica directa y segundo porque para describir el movimiento del mecanismo es necesario desarrollar un an´alisis cinem´atico local, esto se detallar´a en secciones posteriores.

(45)

2.1. BRAZOS MANIPULADORES 39

(46)
(47)

2.1. BRAZOS MANIPULADORES 41

(48)
(49)

2.2. CINEM ´ATICA DIRECTA DEL MANIPULADOR 43

2.2.

Cinem´

atica directa del manipulador

La cinem´atica es la ciencia que trata el movimiento sin considerar las fuerzas que lo ocasionan. El estudio de la cinem´atica de los manipuladores se refiere a todas las propiedades del movimiento: las geom´etricas y las basadas en el tiempo. El problema cinem´atico directo es el problema geom´etrico est´atico de calcular la posici´on y ori-entaci´on del efector final del manipulador dadas las magnitudes de las variables de articulaci´on.

Con la suposici´on de que cada articulaci´on4

tiene un grado de libertad5

, la acci´on de cada articulaci´on puede ser descrita por un n´umero real ´unico: el ´angulo de rotaci´on en el caso de de una articulaci´on angular o la longitud de desplazamiento en el caso de una articulaci´on prism´atica.

Un robot manipulador conn articulaciones tendr´an+ 1 enlaces6

, debido a que cada articulaci´on conecta dos enlaces. Se numeran las articulaciones de 1 a n empezando desde la base. Para esta convenci´on la articulaci´on i conecta los enlaces i − 1 e i. Consideraremos la ubicaci´on de la articulaci´on i fija con respecto al enlace i−1. A cada articulaci´on i le asignamos un sistema de coordenadas dextr´ogiro (xi, yi, zi). Ver la Fig. 2.8.

vín cu lo

i-1

Articulación

i

Articulación

i-1

vínculo

i

x

i

y

i

z

i

x

i-1

y

i-1

z

i-1 vín cu lo

i-1

Articulación

i

Articulación

i-1

vínculo

i

x

i

y

i

z

i

x

i-1

y

i-1

z

i-1

Figura 2.8: Sistemas de referencia obtenidos a partir de las articulaciones y enlaces de un robot manipulador

Con la i−´esima articulaci´on, asociamos una variable de articulaci´on. En el caso de una articulaci´on angular qi es el ´angulo de rotaci´on, y en el caso de una articulaci´on prism´atica,qi es el desplazamiento de articulaci´on.

4

El eje de articulaci´onise define mediante una l´ınea en el espacio o la direcci´on de un vector sobre el cual gira el v´ınculoi con respecto al v´ınculoi−1.

5

En caso de tener m´as grados de libertad, lo que se procede a realizar es la descomposici´on de la articulaci´on en enlaces de longitud cero que solo contengan un grado de libertad.

6

(50)

La variable de articulaci´on qi junto con los otros par´ametros fijos (estos par´ametros son tratados en la secci´on 2.3) definen la matriz de transformaci´onTi =i−1

i T deli−´esimo

v´ınculo con respecto al v´ınculo anterior. Por lo que podemos escribirlo en forma de una funci´on

Ti =T(qi) (2.1)

2.2.1.

Descripci´

on de v´ınculos

Un v´ınculo se considera solamente como un cuerpo r´ıgido que define la relaci´on entre dos ejes de articulaciones adyacentes de un manipulador. Para fines de an´alisis de la cinem´atica , un v´ınculo puede especificarse con dos par´ametros que definen la ubicaci´on relativa de los dos ejes en el espacio.

Para cualesquiera dos ejes en el espacio tridimensional existe una medida bien defini-da de distancia entre ellos. Esta distancia se mide a lo largo de una l´ınea que es mu-tuamente perpendicular a ambos ejes. Esta l´ınea mumu-tuamente perpendicular siempre existe, es ´unica excepto cuando ambos ejes son paralelos, en cuyo caso hay muchas l´ıneas mutuamente perpendiculares de igual longitud. A esta distancia se le denomina longitud de v´ınculo y es el par´ametroai−1.

El segundo par´ametro que define la ubicaci´on relativa de los dos ejes se llama torsi´on de v´ınculo. Si imaginamos un plano cuya normal sea la l´ınea que defineai−1, se puede proyectar los ejesi−1 ei en este plano y medir el ´angulo que se forma entre ellos. Este ´angulo se mide desde el eje i−1 hasta el eje i en el sentido de la mano derecha sobre

ai−1. A este par´ametro se le denomina αi−1.

En la Fig. 2.9 se muestran los par´ametros ai−1 y αi1.

2.2.2.

Descripci´

on de la conexi´

on de v´ınculos

Existen dos par´ametros que describen la conexi´on entre v´ınculos. El primero de ellos se denomina desplazamiento de v´ınculo. El desplazamiento en el eje de articulaci´on i

se denominadi y se define como la distancia con signo que se mide a lo largo del eje de articulaci´oni, desde el punto en el que ai−1 se interseca con el eje hasta el punto en que

ai se interseca con el eje. El segundo par´ametro se denomina ´angulo de articulaci´on y describe la cantidad de rotaci´on que existe entre los v´ınculos adyacentesi−1 e isobre el eje com´un i. Este par´ametro se representa por θi.

(51)

2.2. CINEM ´ATICA DIRECTA DEL MANIPULADOR 45

Figura 2.9: Par´ametros Denavit-Hartemberg

2.2.3.

Convenci´

on para asignar sistemas de coordenadas a

v´ıncu-los

Para poder describir la ubicaci´on de cada v´ınculo relativa a sus v´ınculos adyacentes se define un sistema de coordenadas unida a cada v´ınculo. Los sistemas de coordenadas de los v´ınculos se nombran mediante un n´umero que corresponde al v´ınculo al cual se encuentran unidos. Es decir, el sistema de oordenadas{i}se une r´ıgidamente al v´ınculo

i.

En la secci´on 2.3 se detalla la convenci´on que utiliza este trabajo para la descripci´on de la cinem´atica de manipuladores. A continuaci´on, se detalla la forma de asignar los ejes de los sistemas de los sistemas de coordenadas en los v´ınculos. El ejeZb del sistema de coordenadas {i}, llamadoZib , es coincidente con el eje de articulaci´on {i}. El origen del sistema de coordenadas {i} se ubica en donde la perpendicular ai se interseca con el eje de articulaci´on i, Xic apunta hacia ai en la direcci´on de la articulaci´on i hacia la articulaci´oni+ 1.

(52)

En la Fig. 2.9 se muestra la disposici´on de los ejes coordenados de los sistemas de referencia, que como se ha descrito cada una va unida a su respectivo eje y v´ınculo.

2.3.

Convenci´

on Denavit-Hartemberg

Existen dos formas diferentes de la representaci´on Denavit-Hartemberg para la cin-em´atica de manipuladores.

- La notaci´on cl´asica como apareci´o en el art´ıculo de Denavit y Hartemberg en 1955.

- La notaci´on modificada introducida por Craig en su libro de texto.

Ambas notaciones representan a las articulaciones como dos traslaciones (a y d) y 2 ´angulos de rotaci´on (α y θ). Sin embargo, las expresiones para las matrices de trans-formaci´on son diferentes. En resumen, se debe conocer en que convenci´on cinem´atica est´an definidos los par´ametros Denavit-Hartemberg (DH) en una situaci´on particular. Desafortunadamente muchas fuentes en la literatura no especifican esta crucial infor-maci´on. Muchos libros de texto cubren solo uno y no hacen alusi´on a la existencia del otro [9]. En este trabajo se utiliza la notaci´on introducida por Craig y que se detalla en los siguiente p´arrafos.

Cualquier robot puede describirse en forma cinem´atica proporcionando los valores de cuatro cantidades7

para cada v´ınculo. Dos cantidades describen el v´ınculo en s´ı, y las otros dos describen la conexi´on del v´ınculo con un v´ınculo adyacente. En el caso de una articulaci´on angular,θi se llama variable de articulaci´on y las otras tres cantidades son par´ametros de v´ınculo fijos. Para las articulaciones prism´aticas,di es la variable de articulaci´on y las otras tres cantidades son par´ametros de v´ınculos fijos. La definici´on de mecanismos por medio de estas cantidades es una convenci´on que generalmente se le conoce como notaci´on Denavit-Hartemberg [11]. En la Fig. 2.9 se muestra dos ejes y dos enlaces de un robot, as´ı como los par´ametros DH asociados a ellos.

A continuaci´on se presenta de forma condensada la interpretaci´on de los cuatro par´ametros DH de acuerdo a los ejes de los sistemas de referencia con los que se obtienen. En la Fig. 2.9 se puede observar tal descripci´on.

ai = la distancia deZi a Zi+1 medida sobre Xi.

αi = el ´angulo de Zi aZi+1 medido sobre Xi.

di = la distancia deXi1 a Xi medida sobre Zi.

θi = el ´angulo de Xi1 a Xi medido sobreZi.

7

(53)

2.3. CONVENCI ´ON DENAVIT-HARTEMBERG 47 La matriz de transformaci´on homog´enea que expresa la posici´on y la orientaci´on de (xi, yi, zi) con respecto de (xj, yj, zj) es llamada por convenci´on, una matriz de trans-formaci´on y es denotada porjiT. Si j =i−1. La matriz de transformaci´on en notaci´on

funcional se escribe como:

i−1

i T =RX(αi−1)DX(ai−1)RZ(θi)DZ(di) (2.2) escribiendo en forma matricial cada funci´on, se obtiene

i−1

i T =

    

1 0 0 0

0 cαi−1 −sαi1 0 0 sαi1 cαi1 0

0 0 0 1

         

1 0 0 ai−1

0 1 0 0

0 0 1 0

0 0 0 1

         

cθi −sθi 0 0

sθi cθi 0 0

0 0 1 0

0 0 0 1

         

1 0 0 0 0 1 0 0 0 0 1 di

0 0 0 1

     (2.3) en donde cγr = cos(γr), sγr = sin(γr) y as´ı sucesivamente con los dem´as t´erminos (se usar´a esta notaci´on o la tradicional indistintamente y ello depender´a del espacio existente en donde aparezcan las expresiones). Realizando el producto de matrices se obtiene la forma compacta de la matriz de transformaci´oni−1

i T.

i−1

i T =

    

cθi −sθi 0 ai1

sθicαi−1 cθicαi1 −sαi1 −sαi1di

sθisαi−1 cθisαi1 cαi1 cαi1di

0 0 0 1

   

 (2.4)

De manera m´as general tenemos lo siguiente

i

jT = Ti+1Ti+2. . . Tj1Tj si i < j, Tk =k− 1

k T (2.5)

i

jT = I si i=j (2.6)

j

iT = (ijT)−

1

si j > i (2.7)

De la ecuaci´on (2.5) si i = 0 y j = n se obtiene la matriz de transformaci´on homog´enea que da la posici´on y orientaci´on del efector final con respecto al sistema de coordenadas de referencia 0 (trama 0).

0

nT = T1T2. . . Tn1Tn = 0

1T 1 2T . . .

n−2

n−1T

n−1

n T (2.8)

Por (2.8) y aplicando a cada matriz de transformaci´on la expresi´on (2.1), obtenemos la expresi´on que nos expresa a0

nT como una matriz de transformaci´on homog´enea que

es funci´on de las variables de articulaci´on qr, siendo r= 1,2, . . . , n.

0

nT =T(q1)T(q2). . . T(qn) (2.9)

(54)

i−1

i T =

" i1

i R i−

1

i P

0 1

#

(2.10)

en dondei−1

i Res la matriz de rotaci´on de tama˜no 3×3 que indica la orientaci´on del

sistema de coordenadasicon respecto ai−1,i−1

i P es el vector columna de tama˜no 3×1

que indica la posici´on del sistema de referencia i con respecto al sistema de referencia

i−1 y 0 es el vector fila de ceros de tama˜no 1×3.

Para obtener i

jT se procede como sigue

i

jT = Ti+1Ti+2. . . Tj =

" i

i+1R ii+1P

0 1

# " i+1

i+2R

i+1

i+2P

0 1

#

. . .

" j1

j R

j−1

j P

0 1

#

=

" i

jR ijP

0 1

#

(2.11)

en donde i

jR se obtiene de multiplicar todas las matrices de rotaci´on desde i hasta j.

i

jR =ii+1R

i+1

i+2R . . .

j−1

j R (2.12)

y el vector de posici´on i

jP esta dado por la siguiente expresi´on recursiva. i

jP = i j−1R

j−1

j P +

i

j−1P (2.13)

Las ecuaciones (2.12) y (2.13) evitan la multiplicaci´on con los t´erminos nulos, re-alizando de esta manera menos operaciones que utilizando directamente (2.5). De esta manera es posible reducir el tiempo de procesamiento en un programa de computadora.

2.4.

Par´

ametros DH del brazo Eduarm 5Axis

Figure

Figura 1.2: Diagrama de bloques del sistema de teleoperaci´on propuesto.
Figura 4.2: Ubicaci´on de los controles de la interfaz gr´afica de usuario
Figura 4.3: Modificaci´on del directorio actual en Matlab.
Figura 4.4: Agregar la utiler´ıa RobotSolid en el path de Matlab.
+7

Referencias

Documento similar

El fin de este proyecto es el montaje, programación y puesta en marcha de un sistema de visión artificial coordinado con un brazo robótico, para la realización de manipulación

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

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

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas