101
DISE ˜ NO Y CONSTRUCCI ´ ON DE UN BRAZO MANIPULADOR SCARA TESIS Para obtener el grado de INGENIERO ELECTRICISTA presenta Omar R´ ıosL´opez Leonardo Romero Mu˜ noz Director de Tesis Universidad Michoacana de San Nicol´as de Hidalgo Noviembre 2006

DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

DISENO Y CONSTRUCCION DE UN BRAZO

MANIPULADOR SCARA

TESIS

Para obtener el grado de

INGENIERO ELECTRICISTA

presenta

Omar Rıos Lopez

Leonardo Romero Munoz

Director de Tesis

Universidad Michoacana de San Nicolas de Hidalgo

Noviembre 2006

Page 2: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 3: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

A Dios, por tener la familia que tengo.

A mis padres y hermanos, por su constante e infinito carino, ası como a mis

dos pequenos sobrinos por el simple hecho de existir.

A mis maestros. Especialmente al Dr. Leonardo Romero por su valiosa

asesorıa.

A la Universidad Michoacana de San Nicolas de Hidalgo y al Consejo Nacional

de Ciencia y Tecnologıa, por el apoyo otorgado para realizar estos estudios.

Page 4: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 5: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Contenido

Dedicatoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv

Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Lista de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Lista de Sımbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

1. Introduccion 1

1.1. El robot SCARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4. Objetivo de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4.1. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.4.2. Retos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4.3. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.5. Plataforma de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.6. Organizacion del documento (tentativamente) . . . . . . . . . . . . . . . . . 12

2. El robot SCARA 15

2.1. Arquitectura del robot SCARA . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2. Esquema de conexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3. Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3.1. Programacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.4. Motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5. Manejadores para los motores de CD . . . . . . . . . . . . . . . . . . . . . . 20

2.6. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.6.1. Odometro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.7. Fuente de potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3. Control del robot SCARA 29

3.1. Medicion de posicion y velocidad . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.1. Medicion de posicion . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.1.2. Medicion de velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2. Estructura del sistema de control de lazo cerrado . . . . . . . . . . . . . . . 37

3.3. Control de velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

v

Page 6: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

vi Contenido

3.3.1. Control IP digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.3.2. Obtencion del modelo del robot SCARA . . . . . . . . . . . . . . . . 443.3.3. Diseno del control IP digital . . . . . . . . . . . . . . . . . . . . . . . 47

3.4. Control de posicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.4.1. Obtencion del modelo aproximado del controlador de velocidad . . . 553.4.2. Diseno del controlador IP digital . . . . . . . . . . . . . . . . . . . . 60

4. Extra 674.1. Control de los motores de CD . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A. Hojas de datos de fabricantes 69A.1. Motor de CD Pittman GM8724S011 . . . . . . . . . . . . . . . . . . . . . . 69A.2. Motor de CD Pittman GM9236S021 . . . . . . . . . . . . . . . . . . . . . . 70A.3. Motor de CD Pittman GM9236S027 . . . . . . . . . . . . . . . . . . . . . . 70A.4. Motor de CD Pittman GM14904S016 . . . . . . . . . . . . . . . . . . . . . . 70

B. Circuitos impresos desarrollados 79

C. Programa del microcontrolador 81

Referencias 83

Indice alfabetico 87

Page 7: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Lista de Figuras

1.1. Categorıas de los robots manipuladores. . . . . . . . . . . . . . . . . . . . . 3

1.2. Configuracion tıpica de un robot SCARA y su respectiva area de trabajo. . 4

1.3. Robot SCARA Serpent II de Tecnologıa Educativa . . . . . . . . . . . . . . 5

1.4. Diferentes robots SCARA comerciales. . . . . . . . . . . . . . . . . . . . . . 13

2.1. Robot SCARA desarrollado y construido localmente. . . . . . . . . . . . . . 16

2.2. Esquema de conexion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3. Modulo Adapt9S12DP256 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4. Imagenes de los motores de CD del robot y encoder HP . . . . . . . . . . . 20

2.5. Arreglo tıpico de un puente H. . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.6. Diagrama de bloques funcional del LMD18200. . . . . . . . . . . . . . . . . 23

2.7. Circuito monolıtico LMD18200. . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.8. Esquema del odometro incremental adjunto al motor. . . . . . . . . . . . . 24

2.9. Senal en cuadratura generada por el odometro. . . . . . . . . . . . . . . . . 25

2.10. Imagenes del odometro o encoder que utilizan los motores Pittman del robotSCARA construido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.11. Diagrama electrico de la fuente de 5 V de CD a 5 A. . . . . . . . . . . . . . 26

2.12. Diagrama de la fuente de 24 V de CD a 8 A. . . . . . . . . . . . . . . . . . 26

2.13. Imagenes de la fuente de potencia disenada y construida. . . . . . . . . . . 28

3.1. Diagrama esquematico de los motores de CD del robot SCARA. . . . . . . 30

3.2. Senales utilizadas para medir posicion. . . . . . . . . . . . . . . . . . . . . . 32

3.3. Acoplamiento mecanico entre el motor y su carga. . . . . . . . . . . . . . . 34

3.4. Medicion de velocidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.5. Diagrama de bloques del sistema de control de posicion. . . . . . . . . . . . 38

3.6. Diagrama de bloques de Gp(s). . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.7. Diagrama de bloques del control de velocidad. . . . . . . . . . . . . . . . . . 39

3.8. Control de velocidad IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.9. Diagrama de bloques del esquema de control de velocidad IP digital. . . . . 43

3.10. Diagrama de bloques reducido del esquema de control de velocidad IP digital. 43

3.11. Respuesta al escalon del motor M0 (hombro). . . . . . . . . . . . . . . . . . 47

3.12. Respuesta al escalon del motor M1 (codo). . . . . . . . . . . . . . . . . . . . 48

3.13. Respuesta al escalon del motor M2 (Theta Z). . . . . . . . . . . . . . . . . . 49

vii

Page 8: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

viii Lista de Figuras

3.14. Respuesta al escalon del motor M3 (Z). . . . . . . . . . . . . . . . . . . . . 50

3.15. Comparacion del modelo simulado del eje M0 (hombro) del robot SCARAcon la respuesta obtenida del mismo. . . . . . . . . . . . . . . . . . . . . . . 51

3.16. Comparacion del modelo simulado del eje M1 (codo) del robot SCARA conla respuesta obtenida del mismo. . . . . . . . . . . . . . . . . . . . . . . . . 52

3.17. Comparacion del modelo simulado del eje M2 (Theta Z) del robot SCARAcon la respuesta obtenida del mismo. . . . . . . . . . . . . . . . . . . . . . . 53

3.18. Comparacion del modelo simulado del eje M3 (Z) del robot SCARA con larespuesta obtenida del mismo. . . . . . . . . . . . . . . . . . . . . . . . . . . 54

3.19. Graficas de la respuesta de cada eje del robot SCARA ante una entradaescalon ωref = 30 pulsos/mseg. con los valores del controlador IP disenadode la Tabla 3.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.20. Graficas de la respuesta de cada eje del robot SCARA ante una entradaescalon ωref = 30 pulsos/mseg. utilizando los valores de la Tabla 3.4 en elcontrolador IP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.21. Diagrama de bloques del control de posicion en lazo cerrado. . . . . . . . . 573.22. Diagrama de bloques del control de posicion agrupando el controlador de

velocidad y Gp(s) en Fp(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.23. Control de posicion proporcional. . . . . . . . . . . . . . . . . . . . . . . . . 573.24. Graficas de la respuesta de cada eje del robot SCARA ante una entrada

escalon θref = 10000 con un controlador proporcional (P = 0,01) comocontrol de posicion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

3.25. Graficas que describen el comportamiento del control de velocidad ante laprueba de escalon realizada que fue aplicada al control de posicion. La ve-locidad deseada es representada mediante la lınea continua, mientras que lavelocidad del motor mediante la discontinua. . . . . . . . . . . . . . . . . . 62

3.26. Graficas de la respuesta de cada eje del robot SCARA ante una entradaescalon θref = 10000 con un controlador proporcional (P = 0,001) comocontrol de posicion y con las ganancias del controlador IP de velocidad de laTabla 3.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.27. Diagrama de bloques del control IP de posicion con Hp(s) como diagramaequivalente de la Figura 3.23 . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.28. Diagrama de bloques del control IP de posicion en forma digital. . . . . . . 64

3.29. Graficas de la respuesta de cada eje del robot SCARA ante una entradaescalon θref = 10000 usando el controlador IP digital de posicion disenado ylas ganancias digitales de la Tabla 3.7. . . . . . . . . . . . . . . . . . . . . . 65

3.30. Graficas de la respuesta de cada eje del robot SCARA ante una entradaescalon θref = 10000 utilizando las ganancias de la Tabla 3.8 en el controladorIP digital de posicion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

A.1. Curvas caracterısticas del motor Pittman GM8724S011 . . . . . . . . . . . . 69

A.2. Curvas caracterısticas del motor Pittman GM9236S021 . . . . . . . . . . . . 70A.3. Curvas caracterısticas del motor Pittman GM9236S027 . . . . . . . . . . . . 71

A.4. Curvas caracterısticas del motor Pittman GM14904S016 . . . . . . . . . . . 71A.5. Hoja de datos del drive LMD18200 para los motores . . . . . . . . . . . . . 76

Page 9: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Lista de Figuras ix

A.6. Hoja de datos del drive LMD18200 para los motores . . . . . . . . . . . . . 77

Page 10: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 11: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Lista de Tablas

2.1. Principales caracterısticas de los motores usados en el robot SCARA . . . . 212.2. Valores de los elementos de las fuentes construidas. . . . . . . . . . . . . . . 272.3. Caracterısticas principales de los transformadores reductores de voltaje usa-

dos en las fuentes de voltaje regulado de 5 y 24 volts. . . . . . . . . . . . . . 27

3.1. Algoritmo para deducir la direccion del movimiento de los motores. . . . . . 323.2. Parametros estimados del modelo de primer orden de los ejes del robot SCARA. 463.3. Ganancias calculadas para el controlador IP de velocidad. . . . . . . . . . . 533.4. Ganancias modificadas a prueba y error que optimizan el desempeno del

controlador IP de velocidad. . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.5. Ganancias ajustadas para el controlador IP de velocidad. . . . . . . . . . . 593.6. Parametros estimados del modelo de primer orden de la Figura 3.23. . . . . 593.7. Ganancias analogicas y digitales calculadas para el controlador IP de posicion

del robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.8. Ganancias digitales modificadas de las calculadas para que el controlador IP

de posicion del robot cumpla con las caracterısticas deseadas en la curva derespuesta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

A.1. Datos principales del motor Pittman GM8724S011 . . . . . . . . . . . . . . 72A.2. Datos principales del motor Pittman GM9236S021 . . . . . . . . . . . . . . 73A.3. Datos principales del motor Pittman GM9236S027 . . . . . . . . . . . . . . 74A.4. Datos principales del motor Pittman GM14904S016 . . . . . . . . . . . . . 75

xi

Page 12: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 13: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Lista de Sımbolos

α angulo de barrido horizontal del telemetro laser.β angulo de giro del pan-tilt.δΦ tamano de paso.λ constante para hacer ∇2 definido positivo.∇ matriz de primeras derivadas (Jacobiano).∇2 matriz de segundas derivadas (Hessiano).ω angulo de inclinacion del pan-tilt.Φ transformacion rıgida de rotacion y traslacion.ρmc estimador de mınimos cuadrados.ρσ estimador Lorentziano.σ parametro para el control de la influencia sobre los

errores grandes utilizando el estimador Lorentziano.θ orientacion (rotacion) de un rastreo laser.d distancia reportada por el telemetro laser.ex,i error de distancia en x.ey,i error de distancia en y.lj j-esimo rastreo laser.lj+1 siguiente rastreo laser despues del j-esimo.l′j+1 siguiente rastreo laser despues de aplicar la transformacion rıgida.

(px, py) posicion de un rastreo laser.tx traslacion con respecto al eje coordenado X.ty traslacion con respecto al eje coordenado Y .tz traslacion con respecto al eje coordenado Z.(xi, yi) i-esimo punto de un rastreo laser.(xj,i, yj,i) i-esimo punto del j-esimo rastreo laser.(xj+1,i, yj+1,i) i-esimo punto del siguiente rastreo laser.(x′

j+1,i, y′

j+1,i) i-esimo punto del siguiente rastreo laser despues

de aplicar la transformacion rıgida.(xψ(i), xψ(i)) punto mas cercano al i-esimo punto del siguiente rastreo laser.

E suma de los errores de distancia en x y y.I matriz identidad.Mts matriz de traslacion en el sistema de referencia del sensor.Mri matriz de rotacion en el sistema de referencia de inclinacion.

xiii

Page 14: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

xiv Lista de Sımbolos

Mrg matriz de rotacion en el sistema de referencia de giro.Mrr matriz de rotacion en el sistema de referencia del robot.Mtr matriz de traslacion en el sistema de referencia del robot.Ps un punto en el sistema de referencia del sensor.Pr un punto en el sistema de referencia del robot.Vi i-esimo vertice de coordenadas (x, y, z).

Page 15: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Capıtulo 1

Introduccion

En esta tesis se trata el diseno y construccion de un brazo-robot tipo SCARA (del

ingles Selective Compliance Assembly Robot Arm [Robotics06b]) de 4 grados de libertad de

plataforma abierta, construido localmente. En este capıtulo se presenta una introduccion al

robot SCARA, ası como los antecedentes y el trabajo previo realizado relacionado con este

trabajo; el objetivo de la tesis, las contribuciones, el esquema de trabajo, la plataforma de

desarrollo y la organizacion del documento.

1.1. El robot SCARA

El termino robot fue introducido en 1917 por Karel Capek en su obra Opilec

[Ramırez98, Spong89], el cual proviene de la palabra checoslovaca robota que significa labor

monotona o trabajo forzado. Primero como parte de imaginacion de un hombre en su obra

literaria, despues como parte de la ciencia ficcion y mas adelante como poderosas maquinas

capaces de desempenar cualquier tarea en casi cualquier condicion de trabajo, los robots

han sido el producto del ingenio humano y han estado presentes desde la ultima mitad del

siglo XX en la vida cotidiana del ser humano debido a su gran uso industrial. A traves

de los anos desde su aparicion, el significado de robot ha tenido una cantidad muy gran-

de de definiciones. Sin embargo, la definicion con mayor aceptacion es la adoptada por el

Instituto Norteamericano de Robots [Ramırez98]: “Un robot industrial es un manipulador

reprogramable con funciones multiples, disenado para mover materiales, partes, herramien-

tas o dispositivos especializados a traves de movimientos programados variables para el

desempeno de una gran diversidad de tareas”. De esta definicion se pueden remarcar las

1

Page 16: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

2 Capıtulo 1: Introduccion

palabras “manipulador” y “reprogramable”, que proporcionan una idea de que se trata de

una maquina capaz de realizar distintas funciones con objetos y que en cualquier momento

puede realizar otra tarea diferente.

En general, un robot manipulador consta de un manipulador o brazo mecanico

articulado, sensores para conocer su ambiente, actuadores para moverse, elemento terminal

para realizar una tarea especıfica (herramienta) y uno o varios controladores que dan las

ordenes de lo que se tiene que hacer a los actuadores y reciben la informacion de los sensores

(cerebro del robot) [Romero99, Barrientos97]. Las grandes ventajas que ha aprovechado la

industria con el uso de los robots manipuladores han sido muchas, que van desde el incre-

mento de la produccion, la calidad, la eficiencia, confiabilidad y flexibilidad, la disminucion

del uso de la mano de obra y de los costos de produccion, hasta su uso en ambientes insegu-

ros para el ser humano como las tareas en zonas toxicas, radioactivas y explosivas, ası como

en aplicaciones espaciales y submarinas [Ramırez98, Romero99].

Los brazos manipuladores estan compuestos de eslabones o enlaces conectados por

medio de uniones o articulaciones en una cadena cinematica abierta [Petriu06]. Existen dos

tipos comunes de uniones: (1) rotacionales (R), que permite una rotacion relativa entre

dos uniones (tal como una bisagra); y (2) prismaticas (P), que permiten un movimiento

lineal relativo entre dos uniones [Spong89]. Las uniones de un manipulador se mueven

debido a los actuadores que estan asociados a estas, que pueden ser electricos, neumaticos o

hidraulicos. Tıpicamente, un brazo manipulador deberıa tener 6 grados de libertad (DOF):

3 para posicionamiento y los otros 3 para orientacion. No obstante, hay aplicaciones que

requieren de mas grados de libertad, aunque al incrementar el numero de eslabones de un

manipulador se incrementa la dificultad para controlarlo.

Existe una gran variedad de tipos de brazos manipuladores y se pueden clasifi-

car de distintas formas: por su estructura, por su forma de control, por su area de apli-

cacion, por su fuente de potencia, por su geometrıa, por su movimiento cinematico, etc

[Spong89, Ramırez98]. Hoy en dıa, los manipuladores estan agrupados en clases de acuerdo

a la combinacion de uniones usadas en su construccion [Petriu06], y son usualmente cla-

sificados en base a los tres primeros ejes del robot (base, hombro y codo). Generalmente

se encuentran en una de las siguientes categorıas (ver Figura 1.1): (1) manipulador de

coordenadas cartesianas (PPP), que tienen tres ejes prismaticos y que pueden llegar a

cualquier posicion dentro de su espacio de trabajo rectangular a traves de movimientos car-

tesianos de sus eslabones; (2) manipulador de coordenadas cilındricas (RPP), que se

Page 17: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

1.1. El robot SCARA 3

forma al sustituir la union base del manipulador de coordenadas cartesianas por una union

rotacional y puede alcanzar cualquier posicion dentro de su espacio de trabajo cilındrico con

una combinacion de movimientos de rotacion y traslacion; (3) manipulador de coorde-

nadas polares o esfericas (RRP), que se forma al sustituir tambien la union hombro del

manipulador de coordenadas cilındricas por una union rotacional, con lo cual el espacio de

trabajo de este manipulador se parece a un grueso armazon esferico; y (4) manipulador de

coordenadas angulares (RRR), que se forma al anadir una union rotacional en la union

codo del manipulador de coordenadas esfericas, cuyo espacio de trabajo es practicamente

todo el interior de una esfera.

Espacio de trabajo

(a) Cartesianas (PPP)

Alcance horizontalAlcance horizontal

maximo

minimo

Trazo horizontal

Trazo

vertical

movimientoTopes de

(b) Cilındricas (RPP)

Trazohorizontal

Giro verticalalrededor del

hombro

Barrido alrededorde la base

(c) Esfericas o polares (RRP)

Alcance

Giro alrededorde la base

horizontal

(d) Angulares (RRR)

Figura 1.1: Diferentes categorıas en las que se encuentran los robots manipuladores y susrespectivas areas de trabajo [Petriu06].

En 1979 el diseno del robot SCARA (Selective Compliance Assembly Robot Arm),

mostrado en la Figura 1.2, fue introducido por primera vez en Japon [Spong89]. Debido a

Page 18: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

4 Capıtulo 1: Introduccion

(a) Vista lateral (b) Vista superior (c)Area de trabajo tıpi-

ca de un robot SCA-

RA

Figura 1.2: Configuracion tıpica de un robot SCARA y su respectiva area de trabajo[Rosen06, Solutions06].

su configuracion adquirio rapidamente gran popularidad en operaciones de montaje. Este

tipo de brazo robot se clasifica en la categorıa de manipuladores de coordenadas cilındricas.

En general, los robots SCARA tienen 4 grados de libertad y se pueden mover a cualquier

coordenada X-Y-Z dentro de su espacio de trabajo. Ademas, posee otro movimiento so-

bre su propio eje en el plano Z, denominado comunmente “rotacion de muneca” (Theta-Z)

[Robotics06b]. Los movimientos en las direcciones X, Y y Theta-Z se obtienen con tres

uniones rotacionales de ejes paralelos. El movimiento vertical es usualmente un eje lineal

independiente que se encuentra ya sea en el extremo del brazo o en la base del robot, el cual

puede ser usado para mover objetos relativamente pesados en el plano horizontal. Como

virtud del esquema de uniones rotacionales de ejes paralelos, el brazo-robot puede ubicarse

en cualquier punto de las direcciones X y Y, pero es rıgido en la direccion Z, de ahı el

termino Selective Compliance [Yamaha06]. Lo anterior es una ventaja para varios tipos de

operaciones de montaje. Otro atributo que tienen los robots SCARA es que emulan las ca-

racterısticas de un brazo humano, por lo que tambien se denominan brazos articulados. Esta

caracterıstica permite al manipulador extenderse hasta areas confinadas y despues reple-

garse. Las uniones rotatorias de los brazos manipuladores SCARA son a menudo preferidos

por su fuerza, poca friccion y fiabilidad [Petriu06].

En la Figura 1.3 se puede apreciar la configuracion que posee un robot SCARA

comercial obtenido de [Educativa06]. Aunque todos los robots de este tipo tienen una forma

Page 19: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

1.1. El robot SCARA 5

y geometrıa similar, no todos son iguales debido a que no existe un modelo geometrico base

para definir a un robot como de tipo SCARA. Prueba de ello se puede observar en la Figura

1.4, donde se pueden visualizar las distintas formas y geometrıas de algunos de los robots

SCARA comerciales.

Figura 1.3: Robot SCARA Serpent II de Tecnologıa Educativa SA [Educativa06].

Las consideraciones acerca del espacio de trabajo, particularmente cuando se pla-

nea evadir colisiones, juegan un papel muy importante en la seleccion de un robot para una

determinada aplicacion. Todos los fabricantes dan especificaciones detalladas del area de

trabajo de sus robots y de su equipo asociado [Petriu06]. Para un robot SCARA, el area

de trabajo o de operacion se puede describir en forma de doble rinon a la derecha y a la

izquierda del centro del robot, tal como se muestra en la Figura 1.2(c).

Los robots SCARA son ideales para operaciones de precision a gran velocidad, tales

como cerrar, sellar, distribuir, insertar partes (pick and place), montar, trasladar compo-

nentes, envasar, empaquetar, pintar en spray, soldar, perforar, rellenar, recubrir, atornillar,

etc. [Actuator06, Yamaha06, Wikipedia06, Salimian06, Brumson06]. Son ampliamente uti-

lizados en las industrias de moldeado plastico, circuitos impresos electronicos (para colocar

circuitos integrados y otros componentes en las tarjetas de computadoras y equipo simi-

lar), montaje de automoviles, fibra optica, medicina (equipo medico quirurgico), pintura y

alimentos, entre otras.

Otra de las caracterısticas que poseen los SCARA es un area de instalacion pequena

que provee un mayor grado de libertad en el diseno de un sistema, y que adicionalmente,

provee la ventaja de que en caso de que el sistema ya no se use mas en el futuro, el robot

Page 20: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

6 Capıtulo 1: Introduccion

puede ser facilmente instalado en otro sistema [Yamaha06]. A menudo, los robots SCARA

son comparados con los robots cartesianos cuando se requiere realizar aplicaciones sencillas.

Normalmente, dependiendo de la aplicacion, los robots SCARA son mas rapidos, tienen

mejor repetibilidad y fortaleza estructural, mueven menos masa, son mas pequenos y faciles

de transportar que los robots cartesianos, ademas, pueden ser usados en ambientes corrosivos

o polvorientos, o bien, en aplicaciones bajo agua [Brumson06]. En ocasiones, el parametro

que define que tipo de robot se utilizara para determinada aplicacion es el costo del mismo.

Los robots SCARA han demostrado tener una gran popularidad dentro de la industria y

por lo regular son la primera opcion de los fabricantes.

1.2. Motivacion

Actualmente, practicamente todos los robots SCARA que se encuentran en el mer-

cado son de origen extranjero. Para que una empresa establecida en el paıs consiga un robot

de este tipo es necesario importarlo. Esto trae consigo varias desventajas [Romero01]: (1)

son caros y su costo se incrementa con el pago de gastos de importacion; (2) el manteni-

miento es lento y caro, sı ocurre alguna averıa hay que exportarlo y reimportarlo con todo

lo que ello implica, o bien, llamar a un equipo de tecnicos expertos de la empresa extranjera

a la que se le compro y pagar los servicios y viaticos del grupo; (3) es usual que se trate

de sistemas cerrados, por lo que no se tiene la posibilidad de anadir nuevas capacidades.

Los robots que se usan para investigacion de robotica en Mexico se enfrentan a las mismas

adversidades.

Para enfrentar esto, existe mucha gente interesada en usar y desarrollar software

y hardware abierto. Lo anterior se ve reflejado en el trabajo de un pequeno grupo de inves-

tigadores japoneses, que esperan emular el exito del movimiento del codigo abierto que ha

tenido el sistema operativo Linux, en el mundo de los humanoides [Williams02, Arellano05].

El proyecto se llama Open PINO Platform, cuya intencion es acelerar la investigacion y

desarrollo de robots humanoides abriendo a todo mundo la informacion tecnica de PINO.

Siguiendo esta idea es que se desarrolla y construye un robot SCARA flexible,

robusto, expansible, economico y de plataforma abierta. La idea principal es contribuir al

impulso del desarrollo de la tecnologıa en el area de robotica, mediante la descripcion deta-

llada del funcionamiento y operacion de los dispositivos, circuitos y programas de control

integrados en el robot SCARA desarrollado. Con este, se da inicio a un nuevo proyecto

Page 21: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

1.2. Motivacion 7

de investigacion en el amplio campo de la robotica en la Universidad Michoacana de San

Nicolas de Hidalgo, proporcionando con este trabajo de tesis, la base para realizar a futuro

aplicaciones que proyecten un alto impacto en la industria nacional.

El costo de un robot siempre se toma en cuenta al momento de seleccionarlo.

Es parte de este trabajo desarrollar un robot SCARA que sea economico, pero a la vez

fiable y preciso. Por lo general, los SCARA comerciales tienen un costo sumamente alto,

que, dependiendo de las caracterısticas de este, puede oscilar entre 9000 y 25000 USD

[Com06b, Actuator06, Technology, Robotics06a, Educativa06].

Los robots SCARA comerciales poseen muchas caracterısticas optimas para labo-

rar dentro de las industrias, dentro de las cuales, se resumen a continuacion las mas des-

tacables [Com06a, Actuator06, Solutions06, Com06a, Technology, Fisnar06, Motoman06,

Educativa06]:

Velocidad. La mayorıa de los robots SCARA comerciales tienen rangos de velocidad

que van desde los 500 mm/seg hasta poco mas de los 7100 mm/seg (alta velocidad).

Repetibilidad. Tienen una excelente repetiblidad que, comunmente, se encuentra

entre 0,01 mm. y 0,02 mm.

Actuadores. En los SCARA grandes se usan dispositivos neumaticos, mientras que

los mas pequenos hacen uso de motores de pasos de 5 fases o servomotores de CD con

encoders. Algunos otros combinan los dos tipos de actuadores mencionados con el fin

de obtener mayor fuerza, rendimiento o precision en una o mas uniones del robot.

Controlador. El controlador de estos robots es por lo general de tipo digital, comunmen-

te se trata de un microcontrolador o un PLC.

Software. Los controladores estan basados en programacion mediante software muy

amigable, por lo que no se requiere experiencia para su programacion, tienen muchas

funciones de ayuda y muchas veces se trata de programacion grafica. El sofware viene

incluido con el equipo y contiene una amplıa gama de funciones como capacidad

para interpolar lıneas, arcos y rutas en 3D, es compatible con sistemas de vision y

redes de ethernet, puede correr cualquier programa lınea por lınea, tiene simulador,

su capacidad de almacenamiento es de 100 programas y/o 600 puntos por tarjeta de

memoria, la entrada de datos puede ser directa, remota o manual, son capaces de

reproducir un movimiento continuo o punto a punto, entre otras.

Page 22: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

8 Capıtulo 1: Introduccion

Capacidad de carga. Algunos de estos SCARA se usan para transportar material

u objetos por lo que son capaces de mover objetos que tengan un peso maximo que

oscila entre 5 y 20 Kg.

Otras caracterısticas. Son fiables las 24 hrs. del dıa, algunos poseen sistemas de

enfriamiento, son capaces de rotar los 360 sobre su base, algunos hacen uso de un

sistema de engranaje de alta precision (enhanced harmonic gearing) en vez de cajas

de engranes o bandas.

Costo. Los robots SCARA tienen una gran diversidad de formas, tamanos y aplicacio-

nes por lo que su costo varia ampliamente. De acuerdo a [Actuator06, Educativa06]

un robot SCARA comercial con la menor precision, velocidad y capacidad de car-

ga cuesta alrededor de 9000 USD, lo cual es realmente significativo al momento de

seleccionar un robot para una determinada aplicacion.

Mediante la presente tesis, se desea contribuir e impulsar el desarrollo de la tec-

nologıa robotica del paıs, ası como adentrarse en aspectos de diseno relevantes para que en

el futuro maestros y alumnos tomen como base este trabajo para ayudar a que crezca a

nivel regional el uso y construccion de robots para fines industriales en pequenas, medianas

y grandes empresas nacionales.

1.3. Antecedentes

Los antecedentes previos, realizados en la Division de Estudios de Postgrado de la

Facultad de Ingenierıa Electrica, de la Universidad Michoacana de San Nicolas de Hidalgo,

se refieren, no a un trabajo realizado directamente sobre el robot SCARA, sino a trabajos

realizados en cuanto a desarrollo de software y de hardware aplicado a otros proyectos en

el area de robotica. Estos trabajos son: la construccion de un robot movil de plataforma

abierta desarrollado por el Dr. Leonardo Romero Munoz desde su trabajo de tesis docto-

ral [Romero01, Romero04b]; los trabajos de tesis de maestrıa [Arellano05] y [Estrada06]

titulados Reconstruccion tridimensional de ambientes interiores utilizando un robot movil

equipado con un telemetro laser y Diseno de un sistema de control de seguimiento de tra-

yectorias para un robot movil respectivamente; ası como los trabajos realizados por el autor

de esta tesis durante la prestacion del Servicio Social y las Practicas Profesionales, referen-

tes al Diseno y elaboracion de hardware y software de control para sistemas embebidos y

Page 23: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

1.4. Objetivo de la tesis 9

al Diseno y construccion de drives para motores de CD sin escobillas. Cada uno de estos

trabajos ha proporcionado a la presente conocimiento invaluable para llegar a obtener un

resultado satisfactorio.

1.4. Objetivo de la tesis

El objetivo de la tesis es presentar el robot SCARA de 4 grados de libertad cons-

truido en la Universidad Michoacana de San Nicolas de Hidalgo y que se muestra en la

Figura 2.1, describiendo sus caracterısticas, su funcionamiento y su plataforma abierta,

detallando cada parte que lo compone y dando a conocer la forma en la que sus partes

electricas, mecanicas, sensoriales y su controlador, por medio del software programado, se

relacionan entre sı. Lo anterior con el fin de manipular de tal forma el robot para que se

pueda obtener un movimiento con la mejor precision posible, una repetibilidad aceptable,

una velocidad moderada, provisto de potentes capacidades y que tenga un costo accesible

para que pequenas y medianas empresas puedan disponer de el.

1.4.1. Alcance

Las consideraciones y restricciones de las caracterısticas con las que se diseno y

construyo el robot SCARA son:

Robot SCARA fijo en su base. El robot esta fijo en su base para proporcionar

soporte a toda su estructura.

Capacidad de giro sobre su base. El robot SCARA es capaz de girar sobre su

base casi 360. No se alcanzan los 360 debido a que detras de su base se encuentra

el actuador mas grande.

Capacidad de adaptar distintas herramientas al brazo. Esta caracterıstica es

util para darle al robot una amplıa gama de aplicaciones en las que puede intervenir.

Se pueden tener diversos programas del robot para que realice determinada tarea

como puede ser destornillar, perforar, recoger, soldar, entre otras.

Actuadores. Se usan motores de CD con caja de engranes y encoder integrados con

los cuales se pretende alcanzar las metas propuestas en cuanto a precision, velocidad,

repetibilidad y costo.

Page 24: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

10 Capıtulo 1: Introduccion

Controlador. Solo se considera el uso de un microcontrolador para llevar a cabo el

control de movimiento de todo el brazo manipulador, debido principalmente al deseo

de no incrementar el costo y a la capacidad de depuracion para programar haciendo

uso de la menor cantidad de recursos del microcontrolador.

Costo. El costo del brazo robot construido se pretende estimar conforme a los ele-

mentos escogidos para su funcionamiento, siendo estos elementos no los mejores del

mercado pero si de buena calidad y con las caracterısticas requeridas en el diseno para

obtener un buen desempeno. Uno de los principales objetivos de este proyecto es que

la inversion que se haga para construir el brazo robot sea la menor posible a fin de

que la adquisicion de este sea costeable para pequenas y medianas empresas.

1.4.2. Retos

Existen varios problemas involucrados en el desarrollo de un robot SCARA con

los objetivos anteriormente planteados, algunos de los cuales son:

Obtener precision y repetibilidad aceptables con motores de CD. Debido a

su estructura y propiedades, es difıcil controlar con precision la posicion de los motores

de CD ya que esto implica controlar de la mejor manera el voltaje aplicado en sus

terminales y el tiempo de aplicacion, siendo indispensable un buen modelo del sistema.

Ademas se requiere de reductores de velocidad tales como engranes, bandas o poleas

que pueden producir holgura en el sistema, la cual se traduce como imprecision. Al

tener un sistema de control digital y sensores odometricos para obtener posicion y

velocidad, es un verdadero reto optimizar al maximo cada componente del sistema

para que el robot tenga una precision y repetibilidad adecuadas.

Maximizar la capacidad del controlador. Debido a que se quiere obtener un robot

lo mas economico posible, se desea maximizar la capacidad del microcontrolador para

que controle los 4 actuadores (motores), uno por cada grado de libertad, recibiendo

las senales de cada odometro y enviando a cada controlador las senales adecuadas

para controlar con precision cada actuador.

Sistema de instrumentacion adecuado. Con el fin de que no ocurran fenomenos

de induccion e interferencia electromagnetica que puedan alterar de forma significativa

las lecturas de los odometros, es necesario el uso de pantallas electrostaticas. Estas

Page 25: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

1.5. Plataforma de desarrollo 11

proporcionan fiabilidad y certeza en las mediciones y, por lo tanto, tambien lo hacen

en el lazo de control del robot.

1.4.3. Contribuciones

Las principales contribuciones que se hicieron durante el desarrollo de este trabajo

de tesis se describen brevemente a continuacion:

Diseno y construccion de la fuente de poder y de las tarjetas para los

drives. Se diseno y construyo la fuente de poder que provee de energıa electrica a

los actuadores, sensores y controlador del robot. Del mismo modo se realizaron las

tarjetas que contienen la conexion de las senales de control y de los sensores a los

controladores usados para el manejo de los motores de CD.

Sistema de instrumentacion aplicado a todo el robot. Se llevo a cabo la insta-

lacion de pantallas electrostaticas en toda la estructura del robot aislando las senales

de control de las de potencia. Ası mismo, se hizo un cableado adecuado tomando en

cuenta cada parte que compone el robot.

Codigo. Se desarrollo el codigo de operacion del robot en lenguaje “C” para el mi-

crocontrolador.

1.5. Plataforma de desarrollo

Una parte importante que se tiene que resaltar dentro de la elaboracion de este tra-

bajo, es que el uso y desarrollo del software y los algoritmos de control se realizaron bajo el

sistema operativo Linux. Dentro del software desarrollado, la codificacion del control se im-

plemento en lenguaje C, bajo el proyecto 68hcs12 [Carrez06] de licencia GNU [Stallman01].

Ası mismo, la obtencion del modelo del sistema y simulacion de los algoritmos de control

se realizo con el uso de Octave[Eaton06] de licencia publica y de Matlab.

Existen varias ventajas que respaldan el uso de Linux, siendo sin lugar a dudas el

uso de software libre y codigo abierto la mas destacable (ver 2.3). Para el diseno y elabora-

cion del hardware de control, se utilizo la licencia freeware del programa para elaboracion

de circuitos impresos Cadsoft Eagle en su version mas reciente.

Cabe tambien senalar que la presente tesis se desarrollo utilizando LATEX2ε, un

procesador muy poderoso para preparar documentos.

Page 26: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

12 Capıtulo 1: Introduccion

1.6. Organizacion del documento (tentativamente)

El presente trabajo se encuentra dividido en 5 Capıtulos, 3 Apendices y las refe-

rencias bibliograficas, donde los lectores interesados en estos temas pueden encontrar una

referencia comoda y facil de usar.

El Capıtulo 2, “El robot SCARA”, describe de forma detallada los dispositivos que

conforman el robot SCARA de 4 grados de libertad construido, explicando el funcionamiento

de cada parte y la manera en que interactuan entre sı todos los dispositivos.

En el Capıtulo 3, “Control del robot SCARA”, se aborda el modelo que gobierna

el comportamiento de todo el robot SCARA y la forma en la que se controla, describiendo

con detalle la forma en que operan los sensores, actuadores y el controlador para obtener el

movimiento deseado.

El Capıtulo 4, “Desempeno del robot SCARA”, habla acerca del desempeno del

robot SCARA obtenido en base al control de posicion y velocidad disenado e implementado,

analizando su respuesta tomando como referencia los parametros mencionados en el objetivo

de esta tesis.

En el Capıtulo 5, “Sistema de Posicion XYZ”, se describe el sistema de posicion

desarrollado con el robot SCARA en forma practica, y las principales caracterısticas de

su respuesta. Tambien se discute su desempeno como posicionador en base a las metas

planteadas en este trabajo.

Finalmente, en el Capıtulo 6 titulado “Conclusiones”, se dan a conocer los resulta-

dos obtenidos a lo largo del desarrollo de este trabajo, ası como algunas ideas que se pueden

incorporar al proyecto en un futuro.

En los Apendices se reporta en su mayorıa secciones de codigo pertenecientes a

los programas que controlan los diferentes dispositivos con los que cuenta el robot SCARA,

ası como las hojas de datos de los fabricantes.

Page 27: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

1.6. Organizacion del documento (tentativamente) 13

(a) SCARA JRS 4400 de JANO-

ME [Com06a].

(b) SCARA de IntelliSpen-

ce Inc.[Solutions06].

(c) SCARA Ki-

NEDEx de

Peak Robotics

[Robotics06a]

(d) SCARA SS-HD

de Peak Robotics

[Robotics06a]

(e) SCARA SI-600

de Peak Robotics

[Robotics06a]

(f) SCARA SH-800

de Peak Robotics

[Robotics06a]

(g) SCARA Cobra s600 de

Adept [Technology]

Figura 1.4: Diferentes robots SCARA comerciales [Com06a, Solutions06, Robotics06a,Technology].

Page 28: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 29: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Capıtulo 2

El robot SCARA

El objetivo de este capıtulo es presentar la arquitectura del robot SCARA construi-

do mediante la descripcion de sus caracterısticas, funcionamiento y capacidades, detallando

cada uno de los componentes que lo conforman: actuadores, circuitos de control, sensores,

procesamiento y control, y la manera en que estos interactuan entre sı. De esta manera se

tendra una vision mas clara del comportamiento de cada uno de los elementos que confor-

man el robot, y del sistema en sı, para posteriormente dar a conocer la estrategia de control

aplicada al robot SCARA para alcanzar el comportamiento deseado.

2.1. Arquitectura del robot SCARA

La arquitectura de un robot es la disposicion de los elementos que conforman o

integran el robot [Estrada06]. La Figura 2.1 muestra el robot SCARA descrito en esta tesis.

Se trata de un robot SCARA de 4 grados de libertad (DOF) construido localmente, fijo

en su base y hecho de acero y aluminio. El robot tiene una altura de 57 cm., la extension

maxima de su brazo es de 60 cm., es capaz de girar casi 360 sobre su base, y su peso

aproximado es de 50 Kg. Los primeros dos ejes rotacionales del robot (hombro y brazo)

estan equipados con un freno mecanico cuyo fin es disminuir la holgura del brazo oponiendo

resistencia a su movimiento. La estructura fısica del robot fue realizada por una pequena

companıa dedicada a la robotica, establecida en Paracho, Michoacan, llamada Cervantes

Co.

15

Page 30: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

16 Capıtulo 2: El robot SCARA

Figura 2.1: Robot SCARA desarrollado y construido localmente.

2.2. Esquema de conexion

La Figura 2.2 muestra el esquema de conexion del robot a manera de diagrama

de bloques. La energıa que alimenta al robot se obtiene de una fuente de poder regulada

de 24 y 5 V, a 8 y 5 A respectivamente, una de las cuales alimenta la etapa de potencia

y la otra la etapa de control e instrumentacion. La etapa de potencia esta conformada por

cuatro motores de CD con escobillas con sus respectivas cajas de engranes acopladas, que

le dan movimiento a cada eje, y por cuatro puentes H que controlan el funcionamiento de

cada motor de forma independiente (controladores). La etapa de control e instrumentacion

se compone del microcontrolador, los odometros (o encoders) acoplados a la flecha de los

motores, los sensores de lımite o de fin de carrera y las pantallas electrostaticas. Como se

observa en la Figura 2.2, la conexion entre la etapa de potencia y la de control e instrumen-

tacion ocurre a traves de los puentes H, ya que estos reciben las senales del microcontrolador

y proporcionan un determinado voltaje en las terminales de los motores.

El microcontrolador se puede comunicar con una PC a traves de un bus de datos

serial (RS-232), de donde recibe instrucciones en forma de comandos reconocibles por el

microcontrolador y, desde donde tambien, se puede programar o descargar el programa que

se ejecutara.

Page 31: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

2.3. Microcontrolador 17

Encoder

Encoder

Encoder

Encoder24V Reg. Puente H

Puente H

Puente H

Puente H

Microcontrolador

Motor 0

Motor 1

Motor 2

Motor 3

PC

RS232

5V Reg.

M

M

M

M

Figura 2.2: Esquema de conexion.

2.3. Microcontrolador

El microcontrolador es el dispositivo mas sofisticado del robot, el cual adhiere utiles

ventajas en cuanto a versatilidad, consumo de energıa, tamano y facil uso. Pero sobre todo,

el microcontrolador introduce una herramienta muy poderosa en la solucion de multiples

problemas de diseno al controlar el robot: el software [Arellano05].

El robot SCARA usa un solo modulo Adapt9S12DP256 con el microcontrolador

9S12DP256C de Motorola [Arts04], el cual se muestra en la Figura 2.3.

El microcontrolador 9S12DP256 es un dispositivo de 16-bits compuesto de periferi-

cos estandar on-chip. La Figura 2.3(a) muestra el diagrama de los principales bloques del

modulo Adapt9S12DP256. Contiene una unidad central de procesamiento HCS12CPU, 256

KB de Flash EEPROM, 12 KB de RAM, 4 KB de EEPROM, dos interfaces de comuni-

cacion serial asıncrona (SCI), tres interfaces perifericas (SPI), un temporizador de captura

mejorado de 8 canales, dos convertidores analogicos de 10 bits (ADC), un puerto de modu-

lacion de ancho de pulso (PWM) con 8 canales, un controlador de enlace de datos digitales,

29 canales digitales discretos de I/O (Puerto A, Puerto B, Puerto K y Puerto E), 20 lıneas

digitales discretas de I/O con capacidad de interrupcion y activacion, 5 CAN 2.0 A,B de

Page 32: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

18 Capıtulo 2: El robot SCARA

modulos compatibles de software (MSCAN12), y un Bus Inter-IC. El microcontrolador tiene

un bus de datos de 16 bits internamente, sin embargo, el bus externo puede operar a 8 bits.

Ademas utiliza 5 V de corriente regulada y trabaja a una frecuencia maxima de reloj de 24

MHz. Para obtener informacion mas detallada del microcontrolador ver [Motorola02].

IIC

2 x SCI

3 x SPI

16−key WakeupIRQ Ports

V reg 5V to 2.5V

HCS12CPU

2.0 A/B

5 x CAN

Inte

rnal

Bus

256K FLASH

12K RAM 4K EEPROM

ATD08 ch, 10−bit 8 ch, 10−bit

ATD1

Enhanced Capture Timer

8 ch, 8−bit / 4 ch, 16−bit

PWM

8 ch, 16−bit

(a) Diagrama de bloques (b) Modulo Adapt9S12DP256

Figura 2.3: Diagrama de los principales bloques e imagen del modulo Adapt9S12DP256 delmicrocontrolador 68hcs12 [Arts04].

El microcontrolador juega un papel de vital importancia en el desarrollo del robot

SCARA, ya que se encarga de realizar multiples tareas entre las cuales se encuentran propor-

cionar las instrucciones de control de velocidad y posicion de los motores, la adquisicion de

datos (a traves de sensores) y la comunicacion con la PC. Como parte del proyecto ROCA y

el desarrollo de multiples prototipos de robots moviles [Arellano05, Estrada06, Concha06] a

cargo del Dr. Leonardo Romero Munoz desde su trabajo de tesis doctoral [Romero01], se ha

desarrollado el software de comunicacion y control para este microcontrolador [Romero04a],

el cual se tomo como base para el desarrollo de este trabajo.

El microcontrolador proporciona bastantes capacidades, por lo que serıa casi im-

posible utilizarlas todas. Sin embargo se hace uso de un numero limitado de ellas, que en

futuras versiones pueden ser de gran utilidad.

Page 33: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

2.4. Motores 19

2.3.1. Programacion

La construccion y habilitacion de un robot generalmente involucra codificacion

en lenguaje ensamblador. La programacion en lenguaje ensamblador consiste en escribir

codigo de un conjunto de especıfico de instrucciones disenado para un microcontrolador en

particular. Sin embargo, para acelerar el proceso de desarrollo y abstraerse un poco de la

arquitectura especıfica del microcontrolador se utiliza un lenguaje de programacion de alto

nivel como el lenguaje C. En el caso del robot SCARA desarrollado, la codificacion del

control se implemento en dicho lenguaje, bajo el proyecto 68hcs12 [Carrez06] de licencia

GNU [Stallman01].

A lo largo de este trabajo se ira presentando parte del codigo desarrollado y pseu-

docodigo para explicar con mas detalle la forma en la que opera el microcontrolador para

dar movimiento al robot SCARA.

2.4. Motores

Los motores son dispositivos electromagneticos capaces de transformar la energıa

electrica que se aplica en sus terminales, a movimiento mecanico que proporciona su flecha.

Los motores tienen la funcion de proporcionar movimiento a los ejes del robot SCARA.

Existen muchos tipos de motores, pero solo unos cuantos son utiles en robotica,

y dento de estos se encuentran los motores de corriente directa [Jones98]. Los motores

o servomotores de CD son preferidos debido a su relativa facilidad para ser controlados

comparados con otros tipos de motores de CD y con los motores de CA [Estrada06].

En total se usaron cuatro motores de CD de la marca Pittman de 24 V, de las series

GM800, GM9000 y GM14000, dotados de una caja de engranes para reducir la velocidad e

incrementar el par. Ademas tienen un encoder optico Hewlett-Packard (HP) con tres senales

y 500 cuentas por revolucion (CPR) para poder obtener la posicion, velocidad y direccion del

motor (ver 2.6). Para el primer eje de rotacion (hombro) del robot SCARA se uso el motor

GM14904S016 Lo-Cog DC Servo Motor, para el segundo eje de rotacion (codo) se utilizo el

motor GM9236S027 Lo-Cog DC Servo Motor, para el eje Z el motor GM9236S021 Lo-Cog

DC Servo Motor, y para el eje de rotacion de muneca (Theta-Z) el motor GM8724S011

Lo-Cog DC Servo Motor. Las imagenes de la Figura 2.4 muestran las fotografıas de los

motores y del encoder optico que se usaron, donde se puede apreciar claramente la caja de

Page 34: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

20 Capıtulo 2: El robot SCARA

engranes de cada motor.

(a) Motor GM14904S016 (b) Motor GM9236S027 (c) Motor GM9236S021

(d) Motor GM8724S011 (e) Encoder

HP

Figura 2.4: Imagenes de los motores de CD y del encoder usados en el robot SCARA[Automation06].

Las principales caracterısticas de estos motores se muestran en la Tabla 2.1. Los

datos de esta tabla se obtuvieron de las hojas de datos de los motores mencionados, las

cuales se proporcionan en [Automation06]. Para una mayor informacion de los motores y

sus caracterısticas vease el Apendice A.

2.5. Manejadores para los motores de CD

Un manejador o controlador para un motor es un dispositivo o un conjunto de

estos, que permite de alguna manera controlar o manipular al motor. En el caso de los

motores de CD es muy comun encontrar los manejadores llamados puentes H.

Un puente H es un conjunto de cuatro elementos de switcheo (semiconductores

por lo general) que se encuentran arreglados tal como se muestra en la Figura 2.5. Toma un

voltaje de alimentacion de CD y provee un control de cuatro cuadrantes a la carga conectada

entre dos pares de transistores switcheadores de potencia. Debido a que los transistores

permiten a la corriente fluir en forma bi-direccional, el voltaje en la carga y la direccion de

la corriente a traves de la carga puede ser de ambas polaridades. Los puentes H son a menudo

usados para controlar la velocidad, la posicion y el torque de motores de CD y de pasos.

Son tradicionalmente implementados con transistores bipolares discretos o monolıticos, los

Page 35: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

2.5. Manejadores para los motores de CD 21

Modelo M0 M1 M2 M3Eje de uso hombro codo Theta-Z Z

Datos de montaje

Vel s/carga (rpm) 179 71 236 720Torque continuo max. (oz-in) 374 480 153 15Torque pico al arranque (oz-in) 2934 2585 860 42

Datos del motor

Torque constante (oz-in) 8.67 6.49 6.49 6.18Resistencia (Ω) 1.01 2.49 2.49 17Inductancia (mH) 1.6 2.63 2.63 9.35Corriente s/carga (A) 0.26 0.16 0.16 0.09Corriente pico al arranque (A) 23.8 9.64 9.64 1.41Cte. de tiempo electrica (ms) 1.58 1.06 1.06 0.54Cte. de tiempo mecanica (ms) 7 8.5 8.5 14.7Temp. max. del devanado (C) 155 155 155 155

Datos de la caja de engranes

Relacion de reduccion 19.7 65.5 19.7 6.3Eficiencia 0.84 0.8 0.84 0.95Torque max. permitido (oz-in) 500 500 500 500

Tabla 2.1: Principales caracterısticas de los motores usados en el robot SCARA. M0 repre-senta el motor con modelo GM14904S016, M1 el GM9236D027, M2 el GM9236S021y M3 elGM8724S011.

cuales al incorporar soluciones integradas completas han incrementado su popularidad en

impresoras, plotters, robotica y aplicaciones de control de procesos [Semiconductor99].

Para nuestro caso se utilizo el dispositivo LMD18200 de National Semiconductor

que viene integrado en un solo circuito monolıtico. Su diagrama de bloques funcional se

muestra en la Figura 2.6, mientras que en la Figura 2.7 se puede ver una foto de este dis-

positivo. El LMD18200 fue implementado en un proceso que permite la incorporacion de

dispositivos bipolares, CMOS y DMOS. Lo anterior proporciona diferentes caracterısticas

tıpicas de cada tecnologıa que, al integrarlas, permite tomar ventaja de muchas tecnicas

innovadoras de diseno para obtener beneficios de facil uso que tıpicamente no estan aso-

ciados con un simple manejador para motor [Semiconductor99]. El LMD18200 soporta una

corriente hasta de 3A continuos y 6A de pico, y opera en un rango de voltaje de 12 a 55V.

Para informacion mas detallada ver el Apendice A.4.

Page 36: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

22 Capıtulo 2: El robot SCARA

Suministrode Voltaje

+

Puente−HS1

S2

S3

S4

V+ −

Motor

Figura 2.5: Arreglo tıpico de un puente H.

2.6. Sensores

De acuerdo a [Jones98], un sensor es un transductor que convierte algun fenomeno

fısico en senales electricas que el microcontrolador puede leer. La funcion mas importante de

un sensor para un sistema embebido recae en el envıo de informacion del mundo real al mun-

do abstracto de la unidad logica de procesamiento [Valvano04]. Dentro del area de robotica

existen varios tipos de sensores, sin embargo los mas utilizados son aquellos que proporcio-

nan datos de movimiento, de cambios inerciales y aquellos que miden la estructura externa

en el ambiente [Arellano05]. El robot SCARA desarrollado cuenta con sensores odometricos

y sensores de lımite que reportan un valor binario. Los convertidores analogico-digitales

(ADC) del microcontrolador se usan como sensores de voltaje para medir la corriente que

circula por los motores a traves del LMD18200. En el siguiente apartado se describen con

mayor detalle los sensores odometricos utilizados en el robot SCARA, mientras que el fun-

cionamiento de los sensores de lımite y el ADC se explican con mayor claridad en el siguiente

capıtulo.

2.6.1. Odometro

Un odometro es un sensor que mide la posicion o rango de rotacion de un eje,

que en nuestro caso se trata de la flecha del motor. La senal entregada por este dispositivo

sensor puede ser de dos tipos [Jones98]: (1) un codigo que corresponde a una orientacion en

particular del eje, o (2) un tren de pulsos. En el primero de los casos se le llama odometro

absoluto, mientras que en el segundo caso odometro incremental. En el caso del robot

Page 37: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

2.6. Sensores 23

Figura 2.6: Diagrama de bloques funcional del LMD18200.

desarrollado se cuenta con odometros incrementales que vienen incluidos junto con los cuatro

motores de CD.

El odometro incremental es un disco que tiene numerosas ranuras a lo largo de

su parte exterior. Un LED infrarrojo es colocado en uno de los lados del disco, de manera

que la luz es proyectada a traves de las ranuras. Un fototransistor sensitivo al infrarrojo es

colocado en posicion opuesta al LED, tal como se muestra en la Figura 2.8. Cuando la flecha

del motor comienza a girar, el disco ranurado gira con el, y a traves de las ranuras pasa la

luz intermitentemente. El resultado obtenido, tal como se puede ver desde el fototransistor,

es una serie de rafagas de luz, o dicho de otra manera, un tren de pulsos [Arellano05].

Los odometros incrementales permiten saber el sentido de giro del motor utilizando

dos LEDs y dos fototransistores colocados en cuadratura. esto es, uno adelantado 90 del

periodo del otro. Ası, conociendo como cambian las senales (A y B), se puede conocer el

sentido de rotacion. Ademas de estas dos senales, tambien existe una tercera senal (senal I)

que se activa cuando la flecha del motor ha producido una vuelta completa. De esta forma,

los odometros permiten hacer una retroalimentacion del estado de giro de la flecha de los

motores y, con ello, se logra tener un mayor control sobre la posicion, velocidad y aceleracion

del robot.

En la Figura 2.9 se muestran las senales generadas por el odometro, en tanto

que en la Figura 2.10(a) se observa la foto de la cabeza lectora del odometro o encoder

Page 38: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

24 Capıtulo 2: El robot SCARA

Figura 2.7: Circuito monolıtico LMD18200.

LED

Motor

Tren de pulsos(Salida del fototransistor)

Fototransistor

Odométro

Figura 2.8: Esquema del odometro incremental adjunto al motor.

marca HP modelo HEDS-9140#A00 que utilizan los motores Pittman del robot SCARA

(ver tambien Figura 2.4(d) de la seccion 2.4). Se puede apreciar claramente en la Figura

2.10(b), la disposicion de los elementos que conforman el odometro de los motores utilizados

para el robot SCARA, donde se observa como es que el disco ranurado y la cabeza lectora

se encuentran distribuidos fısicamente con respecto a la flecha del motor.

2.7. Fuente de potencia

Otra parte del robot SCARA que es importante describir es la fuente de poten-

cia o de energıa. Esta proporciona la energıa necesaria para que todos los elementos del

robot funcionen adecuadamente: motores, controladores, encoders, sensores de lımite y el

microcontrolador.

Debido a que se trata de un robot SCARA que por lo general se encuentra en la

Page 39: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

2.7. Fuente de potencia 25

Señal B

Señal A

Señal I

Figura 2.9: Senal en cuadratura generada por el odometro.

(a) Imagen de la cabeza lecto-

ra, marca HP modelo HEDS-

9140#A00, de los encoders de

los motores.

(b) Imagen del montaje del encoder de

los motores del robot SCARA.

Figura 2.10: Imagenes del odometro o encoder que utilizan los motores Pittman del robotSCARA construido.

industria y es fijo en su base, no esta provisto de baterıas o acumuladores para proporcionar

la energıa a los dispositivos que conforman el robot. En cambio, toma energıa del proveedor

de servicios electricos para llevar a cabo su proposito.

Para alimentar todos los dispositivos del robot mencionados es necesario transfor-

mar el voltaje de CA que recibe la fuente a un voltaje de CD con los niveles adecuados para

cada elemento. Lo anterior se traduce en desarrollar dos fuentes reguladas de voltaje de CD

de 5 y 24 volts, a 5 y 8 amperes, respectivamente. El diagrama electrico de estas fuentes se

muestra en las Figuras 2.11 y 2.12.

Como se puede observar, las fuentes de potencia desarrolladas contienen un rec-

tificador tipo puente despues de la entrada y un capacitor electrolıtico (C1 en ambos dia-

Page 40: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

26 Capıtulo 2: El robot SCARA

Figura 2.11: Diagrama electrico de la fuente de 5 V de CD a 5 A.

Figura 2.12: Diagrama de la fuente de 24 V de CD a 8 A.

gramas). La fuente de 5 volts tiene un simple regulador de voltaje L7805T a 5 amperes y

capacitores de filtrado (C3 y C4), junto con un led que enciende mientras la fuente este pren-

dida. La fuente de 24 volts tiene, ademas del regulador de voltaje L7824T y los capacitores

de filtrado (C2 y C3), un diodo (D1) para impedir la circulacion inversa de la corriente y un

transistor TIP2955 en paralelo con la salida del regulador L7824T para proporcionar mas

corriente a la salida de la fuente de la que se puede obtener con solo el regulador de voltaje

de 24 volts. Lo anterior con el fin de poder tener mediante la fuente de 24 volts mayor ca-

pacidad de corriente para suministrar a los controladores y a los motores, pues la corriente

de arranque de los motores es alta (ver Apendice A) y no es posible que la proporcione el

regulador L7824T por sı solo. Los valores de los elementos de las fuentes mostradas en las

Figuras 2.11 y 2.12 se proporcionan en la Tabla 2.2.

Page 41: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

2.7. Fuente de potencia 27

Elemento Valor Unidades

Fuente de 5 Volts

C1 4700 µFC2 4700 µFC3 4700 µFC4 4700 µFR1 1000 Ω

Fuente de 24 Volts

C1 4700 µFC2 0.33 µFC3 0.1 µFR1 10 Ω

Tabla 2.2: Valores de los elementos de las fuentes construidas.

En las figuras de la conexion electrica de las fuentes construidas, se parte del hecho

de que reciben un voltaje de CA. Este voltaje, en ambos casos, proviene no directamente del

proveedor del servicio electrico, sino del devanado secundario de un transformador reductor

de voltaje de CA. Las caracterısticas principales de estos transformadores se muestran en

la Tabla 2.3.

Tension del Tension del Corriente del Fusible deprimario secundario secundario proteccion

Fuente de 5 Volts

127 VCA 9 VCA 2 A 0.5 A

Fuente de 24 Volts

127 VCA 24 VCA 5 A 2 A

Tabla 2.3: Caracterısticas principales de los transformadores reductores de voltaje usadosen las fuentes de voltaje regulado de 5 y 24 volts.

En la Figura 2.13 se muestran algunas imagenes de la fuente de potencia disenada

y construida. En dichas imagenes se puede observar el diseno terminado de la fuente y la

disposicion fısica de los elementos que la conforman.

Page 42: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

28 Capıtulo 2: El robot SCARA

(a) Vista frontal de la fuente de po-

tencia.

(b) Imagen del frente

de la fuente sin la

tapa.

(c) Imagen de la

fuente vista

desde arriba.

(d) Vista lateral de la fuente de po-

tencia.

(e) Imagen de los componentes

electronicos que conforman la

fuente montados en una tableta

ubicada dentro de la carcasa.

Figura 2.13: Imagenes de la fuente de potencia disenada y construida.

Page 43: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Capıtulo 3

Control del robot SCARA

Dentro de la robotica intervienen varias disciplinas, dentro de las cuales la teorıa

de control y el modelado de sistemas son hoy en dıa de vital importancia para su crecimien-

to. El conocimiento de estas, es necesario para desarrollar una estrategia de control que

sera aplicada a los actuadores del robot SCARA. Para determinar el tipo de control que

gobernara el sistema, es imprescindible conocer el modelo del sistema que se va a controlar,

lo que significa obtener el modelo matematico del robot SCARA descrito en el Capıtulo

2. Esto proporcionara informacion valiosa y util para desarrollar un control (en software)

que el microcontrolador aplicara al robot, con el cual los objetivos planteados se cumplan y

se obtenga un resultado satisfactorio. En este Capıtulo se describen las acciones realizadas

para medir la posicion y la velocidad de los motores del robot, para la obtencion del modelo

del robot SCARA, ası como el procedimiento llevado a cabo para disenar e implementar la

accion de control que dirige el comportamiento de este.

3.1. Medicion de posicion y velocidad

Las variables necesarias a controlar en el robot SCARA son la posicion y la velo-

cidad de cada eje. Estas dos variables son obtenidas directamente de las senales de salida

del odometro, descrito en la seccion 2.6.1. La forma en la que estas senales se manipulan

para obtener las variables deseadas se describe a continuacion.

29

Page 44: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

30 Capıtulo 3: Control del robot SCARA

3.1.1. Medicion de posicion

Como ya se menciono, el odometro o encoder es un disco perforado de 500 CPR

(cuentas por revolucion) acoplado a la flecha del motor. Cabe mencionar que la flecha

del motor no es la flecha de la carga (salida del sistema), porque los motores, que fueron

descritos en la seccion 2.4, cuentan con una caja de engranes que reduce la velocidad y

aumenta el par de salida. En la Figura 3.1 se puede ver con mayor claridad la disposicion

de estos elementos adicionales de los motores, donde Va es el voltaje aplicado a la armadura

del motor de CD.

MOTORDE CD

REDUCTORDE VELOCIDAD

ENCODER

´mecanicoAcople

posicion y velocidadMedicion de

´´

Va

Figura 3.1: Diagrama esquematico de los motores de CD del robot SCARA.

Las senales que entrega el odometro son trenes de pulsos de los canales A, B

e I, los cuales entran al microcontrolador. El microcontrolador cuenta un con un modulo

acumulador de pulsos [Motorola02] que es capaz de detectar pulsos tanto en flanco de subida

como de bajada. Este modulo se uso en las primeras versiones del software, sin embargo

se abandono debido a que sı solo se usa este metodo de medicion, no es posible saber con

certeza sı todos los pulsos contados fueron en la misma direccion (CW o CCW). Lo anterior

trae como consecuencia grandes errores de medicion y por lo tanto tambien en el desempeno

del robot.

En su lugar, se programo el microcontrolador para que realizara una interrupcion

de tiempo real (RTI) cada lapso de tiempo de 10 microsegundos, a traves del modulo

Enhaced Capture Timer (ECT) y configurando el canal PT7 para que actue como de tipo

output compare. La manera en que se configuraron los registros se muestra en seguida:

/*********PORTS*********/

DDRT = b(0,0,0,0,0,0,0,0); //all are input, I encoders signals from each motor

/**********ECT**********/

DLYCT |= b(0,0,0,0,0,0,0,0); //Delay Counter disabled

Page 45: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.1. Medicion de posicion y velocidad 31

TIOS |= b(1,0,0,0,0,0,0,0); //All channels are input capture but OC7

TIE = b(1,0,0,0,1,1,1,1); //Timer Interrupt Enable Register (I encoders for each motor & OC7)

TSCR2 = b(0,0,0,0,1,0,1,1); //Timer Prescaler = Bus clock / 8 = 0.333 microseg.

TSCR1 = b(1,0,0,0,0,0,0,0); //TEN=1 Timer Enabled

TC7 = 30; // 10 microseg.

Ahora bien, despues de configurar la RTI, el servicio de atencion a la interrupcion

(ISR) ejecutara el siguiente codigo cada vez que ocurra la interrupcion, es decir cada 10

microsegundos:

void __attribute__ ((interrupt)) ISR_OC7(void)

asm("sei"); //Deshabilita todas las interrupciones

get_arm_encoder(); //Captura los canales A y B de M0

get_elbow_encoder(); //Captura los canales A y B de M1

get_twist_encoder(); //Captura los canales A y B de M2

get_z_encoder(); //Captura los canales A y B de M3

TFLG1 |= mT_OC7; //Limpia el registro de la interrupcion

asm("cli"); //Habilita las interrupciones configuradas

donde las funciones que llama (get arm encoder() por ejemplo) capturan los trenes de

pulsos de los canales A y B del odometro de cada motor. La manera en que realizan esto es

en base a las caracterısticas de las senales que capturan y se detalla en las siguientes lıneas.

El microcontrolador posee varios puertos, dentro de los cuales el puerto H se des-

tino para capturar las senales A y B del odometro, en tanto el puerto T se uso para generar

interrupciones cuando se detecte la senal I. Esto se explicara mas adelante (ver Apendice

C). Tambien se utilizo el puerto A como lector de las posiciones que adquieren los switches

de tope, los cuales se usan para indicar al microcontrolador que los ejes del motor se en-

cuentran en su posicion inicial u origen. La Figura 3.2 muestra esta disposicion de manera

grafica para un motor.

Para detectar la direccion del movimiento con el odometro, que no se puede de-

tectar utilizando los acumuladores de pulsos, se aplica el siguiente algoritmo en la rutina

de atencion a la interrupcion: se leen los estados de los canales A y B del motor correspon-

diente y con esta informacion se deduce la direccion de rotacion haciendo uso de la Tabla

3.1, donde:

CW = sentido de las manecillas del reloj

CCW = sentido contrario a las manecillas del reloj

Mediante esta forma de medicion, es posible detectar 2000 pulsos por revolucion

con un encoder de 500 CPR. La unica desventaja es que es muy dependiente del tiempo

Page 46: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

32 Capıtulo 3: Control del robot SCARA

POSICION CERO

INDICE

CANAL B

CANAL A PORT H

PORT T

PORT A

PORT H

Figura 3.2: Senales utilizadas para medir posicion.

Canal A Canal B Indice

Direccion A B A B A B

CW 1 0 1 1 1 0

CW 0 1 0 0

CCW 1 1 1 0 0 1

CCW 0 0 0 1

Tabla 3.1: Algoritmo para deducir la direccion del movimiento de los motores.

debido a la interrupcion de tiempo real que ocurre cada 10 microsegundos. Sin embargo,

este tiempo se calculo para garantizar una lectura apropiada de los encoders, sin errores de

medicion y sin provocar una saturacion de interrupciones en el microcontrolador, con la cual

el desempeno del robot serıa desastroso. La velocidad maxima permitida para cada motor

tambien se limito, con el fin de anular cualquier tipo de error en la medicion de posicion.

Estos errores se refieren a los tiempos de ejecucion y de muestreo del algoritmo que captura

la posicion de los motores.

Dentro del microcontrolador, la forma en que se implemento este algoritmo de

medicion de posicion se muestra a continuacion, tomando como ejemplo la funcion que

captura las senales del encoder de M0:

const unsigned char enc_forward[4] = 2,0,3,1;

const unsigned char enc_backward[4] = 1,3,0,2;

static void inline get_arm_encoder()

if (edo_motor[ARM_MOTOR]) //Verifica que el motor este operando

enc_actual[ARM_MOTOR] = GET_FILTER_PORT(mB_AB_filter,ARM_MOTOR_ENCODER_PORT);

//Captura los pines del puerto correspondientes a M0

Page 47: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.1. Medicion de posicion y velocidad 33

if (enc_derr[ARM_MOTOR] != enc_actual[ARM_MOTOR]) //Verifica sı se ha movido el motor

if(enc_forward[enc_derr[ARM_MOTOR]] == enc_actual[ARM_MOTOR])

//Verifica si se movio en sentido CW

g_pulses[ARM_MOTOR]++; //Aumenta la posicion de M0 en un pulso

enc_derr[ARM_MOTOR] = enc_actual[ARM_MOTOR];

//Hace que la ultima lectura sea la que acaba de capturar

if(enc_backward[enc_derr[ARM_MOTOR]] == enc_actual[ARM_MOTOR])

//Verifica si se movio en sentido CCW

g_pulses[ARM_MOTOR]--; //Decrementa la posicion de M0 en un pulso

enc_derr[ARM_MOTOR] = enc_actual[ARM_MOTOR];

//Hace que la ultima lectura sea la que acaba de capturar

Cabe senalar que las unidades de medicion de la posicion son pulsos, los cuales son 2000

por cada vuelta de la flecha del motor. Existen relaciones que transforman las unidades de

medicion de la posicion, las cuales pueden ser de gran utilidad. Algunas de estas se muestran

a continuacion.

Revoluciones = (No. pulsos)

(

1 Revolucion

Pulsos / Revolucion

)

(3.1)

rad = (No. pulsos)

(

Pulsos / Revolucion

)

(3.2)

Es necesario recalcar que la flecha del motor no es la flecha de salida o de la carga,

sino que la flecha del motor esta acoplada mecanicamente a una caja de engranes, la cual

esta acoplada a su vez a la carga correspondiente al motor mediante una banda dentada.

En la Figura 3.3 se muestra graficamente este acoplamiento entre el motor y su carga.

Las variables expresadas dentro de la Figura 3.3 representan los siguientes parame-

tros:

Page 48: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

34 Capıtulo 3: Control del robot SCARA

CARGAMOTORDE CD

θm T

Caja de engranes

Banda dentada

R

Rb

m

θL TL

J

J

m

L

m

n

n

n

L

m

ng h

θ θ

ThTg

g h

Figura 3.3: Acoplamiento mecanico entre el motor y su carga.

θm = Posicion angular del eje del motor

θL = Posicion angular del eje de la carga

Tm = Torque a la salida del eje del motor

TL = Torque a la salida del eje de la carga

Jm = Inercia del eje del motor

JL = Inercia del eje de la carga

Rm = Constante de reduccion entre el eje del motor y el eje de salida de

la caja de engranes

Rb = Constante de reduccion entre el eje de salida de la caja de engranes

y el eje de la carga

nm, ng, nh, nL = Numeros de dientes de los engranes mostrados en la Figura 3.3

De acuerdo al acoplamiento mecanico del motor con su estructura (Figura 3.3) se

pueden plantear las siguientes relaciones.

TmTg

=θgθm

=nmng

= Rm (3.3)

ThTL

=θLθh

=nhnL

= Rb (3.4)

Page 49: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.1. Medicion de posicion y velocidad 35

La relacion entre los parametros del motor y de la carga se obtiene de las expre-

siones 3.3 y 3.4.

θg = RmθmTm = RmTg

θL = RbθhTh = RbTL

Pero del aoplamiento mecanico se observa que θg = θh y Tg = Th, por lo tanto:

θL = Rb(Rmθm)

θL = RmRbθm (3.5)

y

Tm = Rm(RbTL)

TL =1

RmRbTm (3.6)

Sı se hace a = RmRb, entonces las expresiones 3.5 y 3.6 finalmente quedan:

θL = aθm (3.7)

TL =1

aTm (3.8)

donde a representa la constante de reduccion entre el eje del motor y el eje de la carga y

los valores que toma son diferentes para cada motor del robot.

3.1.2. Medicion de velocidad

La velocidad tambien se calcula en base a la informacion recibida proveniente del

encoder de los motores. Ası la velocidad se calcula como numero de pulsos entre el periodo

de muestreo. La Figura 3.4 muestra graficamente esta definicion, mientras la ecuacion 3.9

la describe matematicamente.

ω =No. pulsos

Periodo de muestreo(3.9)

La manera en que se implemento esta medicion en el microcontrolador fue a traves

de la programacion de una interrupcion de tiempo real diferente de la usada para medir la

Page 50: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

36 Capıtulo 3: Control del robot SCARA

No. de pulsos

Periodo de muestreo

Figura 3.4: Medicion de velocidad.

posicion. Se trata de una interrupcion interna que depende del Timer del microcontrolador

y que ocurre cada 1,024 milisegundos. Al entrar en esta interrupcion, la unica accion que

realiza el microcontrolador es medir la diferencia de pulsos o en la posicion entre la inte-

rrupcion actual y una anterior a esta. El tiempo que transcurre entre una interrupcion y

otra es fijo como ya se menciono. Por lo tanto el unico parametro que se determina para

obtener la velocidad de a cuerdo a la ecuacion 3.9 es el numero de pulsos capturados entre

una interrupcion y otra (periodo de muestreo).

Dentro del microcontrolador se configuro el modulo CRG (Clocks and Reset Gene-

rator) para generar una RTI cada 1,024 milisegundos. Para ello se llevo acabo una adecuada

configuracion de los registros correspondientes, como se muestra en seguida en el programa

en C que se creo para tal fin.

#define rtimask b(0,1,0,0,0,0,0,1) //(1/16Mhz)2*2^13=1.024 msec interrupt

#define RTIF b(1,0,0,0,0,0,0,0)

#define RTIE b(1,0,0,0,0,0,0,0)

static void inline set_rti()

RTICTL = rtimask; //Inicializa la RTI cada 1.024 mseg.

CRGFLG |= RTIF; //Limpia la bandera de interrupcion

CRGINT |= RTIE; //Habilita la RTI

TSCR1 = b(1,0,0,0,0,0,0,0); //TEN=1 Timer Enabled

El algoritmo que ejecuta el microcontrolador al entrar en la RTI se programo como

sigue. En el Apendice C se encuentra un listado completo del programa creado en lenguaje

C, el cual se compila y se carga al microcontrolador para su ejecucion. Los listados de

las partes de los algoritmos pretenden dar solo una idea mas clara de la forma en que se

implementaron las distintas tareas dentro del microcontrolador, pues la programacion de

sistemas embebidos requiere de un mayor numero de conocimientos en la materia. No es

parte de este trabajo exponer lo anterior, por lo que se recomiendan acudir a los trabajos de

Page 51: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.2. Estructura del sistema de control de lazo cerrado 37

[Valvano04], [Motorola02], [Arellano05], [Estrada06], [Romero99], [Romero01], [Romero04a]

y [Romero04b] para una descripcion mas amplia.

/* Real Time Interrupt is running each milisecond */

void __attribute__ ((interrupt)) ISR_RealTimeInt(void)

CRGFLG |= RTIF; //Limpia la bandera de la RTI

get_vel(); //Obtiene las velocidades de los motores

real_time_flag=1; //Activa bandera que se usa en el control

static void inline get_vel()

g_vel[ARM_MOTOR] = g_pulses[ARM_MOTOR] - g_pulses_derr[ARM_MOTOR];

g_pulses_derr[ARM_MOTOR] = g_pulses[ARM_MOTOR];

g_vel[ELBOW_MOTOR] = g_pulses[ELBOW_MOTOR] - g_pulses_derr[ELBOW_MOTOR];

g_pulses_derr[ELBOW_MOTOR] = g_pulses[ELBOW_MOTOR];

g_vel[TWIST_MOTOR] = g_pulses[TWIST_MOTOR] - g_pulses_derr[TWIST_MOTOR];

g_pulses_derr[TWIST_MOTOR] = g_pulses[TWIST_MOTOR];

g_vel[Z_MOTOR] = g_pulses[Z_MOTOR] - g_pulses_derr[Z_MOTOR];

g_pulses_derr[Z_MOTOR] = g_pulses[Z_MOTOR];

Analogamente al caso de la ecuacion para medir la posicion, para la velocidad

tambien existen relaciones que permiten transformarla a otras unidades. Algunas de estas

son:

ω(RPM) =

(

No. pulsos

Periodo de muestreo

)(

1 rev.

pulsos / rev.

)(

60 seg.

1 min.

)

(3.10)

ω(rad/seg.) =

(

No. pulsos

Periodo de muestreo

)(

pulsos / rev.

)

(3.11)

3.2. Estructura del sistema de control de lazo cerrado

En la Figura 3.5 se muestra el diagrama de bloques del sistema de control de posi-

cion en lazo cerrado para cada uno de los ejes del robot SCARA. Donde Gp(s) esta formado

por la salida PWM del microcontrolador, el puente H (LMD18200), el motor de CD corres-

pondiente al eje y el sistema mecanico acoplado al motor, los cuales se muestran a manera

de diagrama de bloques en la Figura 3.6.

Este sistema de control de posicion de lazo cerrado es el que se aplicara a cada eje

del robot SCARA: hombro, codo, Theta-Z y Z. Estos ejes corresponden cada uno al control

Page 52: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

38 Capıtulo 3: Control del robot SCARA

S

Control de

Velocidad Gp(s)

Microcontrolador

θ

ω

θref Control de

Posicion

ωref

pulsos

+

_

+

Figura 3.5: Diagrama de bloques del sistema de control de posicion.

PWM MotorLMD182000

puente HMecanicoSistemaU

ω

Gp(s)

Figura 3.6: Diagrama de bloques de Gp(s).

de uno de los cuatro motores que tiene el robot, junto con todos los elementos mostrados

en la Figura 3.6. Como se trata de un control digital, el microcontrolador llevara a cabo

el control de posicion y velocidad, ası como la captura de la posicion de cada motor y su

respectiva velocidad.

3.3. Control de velocidad

Para realizar el sistema de control del robot, mostrado en la Figura 3.5, se parte

del hecho de que en dicha figura se desea implementar solo el control de velocidad. Esto se

presenta en forma de diagrama de bloques en la Figura 3.7. El resto del sistema de control

(control de posicion) se aborda en la siguiente seccion.

El control de velocidad mostrado en la Figura 3.7 se implemento haciendo uso

de un control IP digital, conocido tambien como control PI digital en forma de velocidad

[Ogata96, Ramırez98]. La Figura 3.8 presenta el diagrama de control de velocidad en su

Page 53: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.3. Control de velocidad 39

S

Control de

Velocidad Gp(s)ref +ω θ

ω

U

Figura 3.7: Diagrama de bloques del control de velocidad.

forma analogica [Ramırez98].

KiS

Gp(s)

Kp

pulsos

seg

pulsos

seg

ref +ω ω+ U(s)

Controlador IP

Figura 3.8: Control de velocidad IP.

La funcion de transferencia del diagrama de bloques de la Figura 3.8 es la siguiente:

ω(s)

ωref(s)=

Ki

sGp(s)

1 +

(

Kp +Ki

s

)

Gp(s)

(3.12)

donde:

Ki = ganancia integral analogica

Kp = ganancia proporcional analogica

ωref = velocidad de referencia

ω = velocidad de salida

Una de las ventajas de este esquema de control IP es, de acuerdo a [Ogata93,

Ramırez98], que elimina la saturacion del termino integral automaticamente, porque la

integracion para de forma automatica cuando la salida esta limitada. Lo anterior elimina la

Page 54: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

40 Capıtulo 3: Control del robot SCARA

necesidad del llamado antiwindup. Otra de sus ventajas es que ayuda a suprimir correcciones

excesivas en sistemas de control de procesos. Lo anterior significa que se pueden evitar

grandes cambios en las senales de control debido a las acciones de control proporcional

cuando hay un cambio brusco en la entrada, pues el termino proporcional no depende de la

entrada sino de la salida. La idea basica de control IP es evitar grandes senales de control

dentro del sistema, las cuales pueden producir el fenomeno de saturacion. Otra razon por la

cual se uso este tipo de control es debido a que ya ha sido utilizado en otro proyecto dentro

de la Facultad de Ingenierıa Electrica, el cual tuvo un desempeno aceptable y cumplio con

las expectativas generadas; fue implementado por Salvador Ramırez Zavala en su tesis de

maestria[Ramırez98].

3.3.1. Control IP digital

La ecuacion 3.12 representa el modelo matematico del control IP en forma analogi-

ca, sin embargo, para obtener la ecuacion del control IP en tiempo discreto se considera la

diferencia hacia atras en la accion de control u(kT ). Esto se muestra mediante la ecuacion

3.13.

∆u(kT ) = u(kT ) − u((k − 1)T ) (3.13)

De acuerdo a [Astrom98], la accion de control PI analogica esta dada por la si-

guiente ecuacion:

u(t) = Kp

(

e(t) +1

Ti

∫ t

0e(t)dt

)

(3.14)

donde:

e(t) = entrada al controlador (senal de error actuante)

u(t) = salida del controlador

Kp = ganancia proporcional

Ti = tiempo integral o tiempo de reajuste

Para obtener la funcion de transferencia pulso del controlador PI digital se puede

discretizar la ecuacion 3.14 aproximando el termino integral mediante la sumatoria trape-

zoidal, como lo muestra la ecuacion 3.15.

Page 55: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.3. Control de velocidad 41

u(kT ) = Kp

e(kT ) +T

Ti

»

e(0) + e(T )

2+

e(T ) + e(2T )

2+ . . . +

e((K − 1)T ) + e(kT )

2

–«

(3.15)

Sustituyendo la ecuacion 3.15 en la ecuacion de diferencias 3.13, se obtiene:

∆u(kT ) = Kp

(

e(kT ) − e((k − 1)T ) +T

2Ti[e(kT ) + e((k − 1)T )]

)

= Kp

(

e(kT ) − e((k − 1)T ) − T

2Ti[e(kT ) − e((k − 1)T )] +

T

Tie(kT )

)

=

(

Kp −KpT

2Ti

)

[e(kT ) − e((k − 1)T )] +KpT

Tie(kT )

∆u(kT ) = Kpd[e(kT ) − e((k − 1)T )] + Kide(kT ) (3.16)

donde:

Kid =KpT

Ti= KiT (3.17)

Kpd =

(

Kp −KpT

2Ti

)

= Kp −1

2Kid (3.18)

e(kT ) = ωref(kT ) − ω(kT ) (3.19)

Sustituyendo la ecuacion del error 3.19 en 3.16, se tiene:

∆u(kT ) = Kpdωref (kT )−ωref ((K−1)T )−ω(kT )+ω((K−1)T )+Kidωref (kT )−ω(kT )(3.20)

La ecuacion 3.20 se puede modificar para hacer frente a grandes cambios subitos

en el punto de ajuste. En el esquema de control PI en forma de velocidad, el error en

la velocidad es modificado solamente por el termino integral y sumado al producto del

Page 56: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

42 Capıtulo 3: Control del robot SCARA

termino proporcional por la velocidad de salida, para dar lugar a la accion de control que se

aplicara al sistema. Es importante destacar que la accion de control proporcional no afecta

de forma directa la senal del error, sino que fue quitado para no producir grandes cambios

en la salida del controlador cuando la senal de entrada (ωref ) presenta un cambio subito

grande. De este modo, la accion de control proporcional no depende de la entrada ωref , sino

unicamente de la salida ω. Por lo tanto, al modificar la ecuacion 3.20 se obtiene:

∆u(kT ) = −Kpdω(kT ) − ω((k − 1)T ) + Kidωref (kT ) − ω(kT ) (3.21)

u(kT ) − u((k − 1)T ) = −Kpdω(kT ) − ω((k − 1)T ) + Kidωref (kT ) − ω(kT ) (3.22)

u(kT ) = −Kpdω(kT ) − ω((k − 1)T ) + Kide(kT ) + u((k − 1)T ) (3.23)

La ecuacion 3.23 es la ecuacion matematica implementada dentro del controlador

que rige o controla el comportamiento de la velocidad del sistema. Si aplicamos la transfor-

mada Z a la ecuacion 3.22 obtenemos:

(1 − z−1)U(z) = −Kpd(1 − z−1)ω(z) + Kid[ωref (z) − ω(z)]

U(z) = −Kpdω(z) + Kidωref (z) − ω(z)

1 − z−1(3.24)

La ecuacion 3.24 representa el esquema de control PI en forma de velocidad, donde:

Kpd = Kp −Kid

2= ganancia proporcional digital (3.25)

Kid =KpT

Ti= KiT = ganancia integral digital (3.26)

De las ecuaciones 3.25 y 3.26 se puede observar claramente que la ganancia pro-

porcional digital (Kpd) para el controlador digital IP es menor que la ganancia proporcional

analogica (Kp) del controlador analogico IP por el termino Kid/2, mientras que la ganancia

Page 57: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.3. Control de velocidad 43

integral analogica (Ki) es afectada por el periodo de muestreo T para obtener la ganancia

integral digital (Kid).

Al introducir la transformada Z en el control de velocidad obtenemos un control

de velocidad digital, el cual es mostrado a manera de diagrama de bloques en la Figura 3.9.

La reduccion de este diagrama de bloques se muestra en la Figura 3.10.

ω(z)Gp(z)

z−1z

(z)ωref

pdK

K id

+ U(z)+

Controlador IP digital

Figura 3.9: Diagrama de bloques del esquema de control de velocidad IP digital.

(z)ωref Kid zz−1 Gp(z)Kpd1+

Gp(z)ω(z)+

Figura 3.10: Diagrama de bloques reducido del esquema de control de velocidad IP digital.

La funcion de transferencia de lazo cerrado del diagrama de bloques de la Figura

3.10 esta dada por:

ω(z)

ωref(z)=

KidGp(z)

(1 − z−1)(1 + Gp(z)Kpd) + KidGp(z)(3.27)

Para obtener apropiadamente las caracterısticas del controlador IP (ganancias) es

necesario obtener primeramente el modelo matematico de Gp(s). En la siguiente seccion

se describe el metodo usado para la obtencion de la estimacion del modelo matematico de

Gp(s) que se usara posteriormente para disenar el control de velocidad digital IP.

Page 58: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

44 Capıtulo 3: Control del robot SCARA

3.3.2. Obtencion del modelo del robot SCARA

Para obtener el modelo matematico del sistema del robot, se procede a obtener de

manera particular el modelo de cada eje del robot SARA. Considerando que la frecuencia de

conmutacion de PWM del microcontrolador es alta (mayor de 20 Khz), se puede usar una

aproximacion del conjunto Gp(S) [Ramırez98], el cual es mostrado a manera de diagrama de

bloques en la Figura 3.6. La funcion de transferencia de un motor de CD, con una entrada

de voltaje y una salida de velocidad, es de segundo orden. Sin embargo, es posible utilizar

un modelo de primer orden para disenar el controlador, debido a que la constante de tiempo

mecanica del motor es mucho mayor que su constante de tiempo electrica. Esto hace que

el motor se pueda aproximar a un sistema dominante de primer orden. De esta manera, el

conjunto Gp(s) se puede representar mediante:

Gp(s) =ω(s)

U(s)=

A

τs + 1=

K

s + α(3.28)

donde:

ω = velocidad angular en pulsos/ms

U = comando de velocidad en forma digital enviado por el microcontrolador

A = ganancia de CD (valor final al que se aproxima la respuesta al escalon unitario)

τ = constante de tiempo del conjunto Gp(s)

α = valor del polo del conjunto Gp(s)

Los parametros a encontrar son la ganancia de CD y la constante de tiempo del

conjunto Gp(s). Para encontrar dichos valores se aplico una entrada escalon por medio del

microcontrolador a cada eje de movimiento del robot SCARA (hombro, codo, Z y Theta

Z), con lo cual se estimo para cada eje el modelo dado por la ecuacion 3.28. La entrada

escalon aplicada se trata del comando digital u = 64 = cte., enviado por el microcontrolador

a traves de su puerto PWM al conjunto Gp(s). Ademas, se capturo la salida de velocidad

en pulsos/ms ante la entrada escalon aplicada, la cual posteriormente se comparo con la

ecuacion analıtica de ω(t).

De la ecuacion 3.28:

Page 59: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.3. Control de velocidad 45

ω(s) =K

s + αU(s)

Haciendo U(s) = u/s:

ω(s) =K

s + α

u

s(3.29)

La respuesta en el tiempo de esta ecuacion es:

ω(t) =Ku

α(1 − e−αt) (3.30)

De aquı se obtiene la velocidad en estado estable ωss:

ωss = ω(∞) =Ku

α(3.31)

Despejando la ganancia K se tiene:

K =ωssu

α (3.32)

De la ecuacion 3.28 se tiene que:

A =K

α(3.33)

y

τ =1

α(3.34)

Sustituyendo la ecuacion 3.32 en 3.33 se tiene:

A =ωssu

(3.35)

Page 60: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

46 Capıtulo 3: Control del robot SCARA

La constante de tiempo τ se puede obtener al considerar un valor de velocidad ωp

menor a ωss a un tiempo tp en la ecuacion 3.30, tal como sigue:

ωp =Ku

α(1 − e−αtp) (3.36)

Sustituyendo la ecuacion 3.32 en 3.36:

ωpωss

= (1 − e−αtp)

e−αtp = 1 − ωpωss

α = −ln

(

1 − ωpωss

)

tp(3.37)

Sustituyendo la ecuacion 3.37 en la ecuacion 3.34

τ = − tp

ln

(

1 − ωpωss

) (3.38)

En las Figuras 3.11, 3.12, 3.13 y 3.14 se muestran las respuestas al escalon de cada

uno de los ejes del robot SCARA.

Al aplicar las ecuaciones 3.35 y 3.38 a las graficas de las respuestas al escalon de

los ejes del robot SCARA (Figuras 3.11 a 3.14), se obtienen los valores mostrados en la

Tabla 3.2.

Motor ωss (pulsos/ms) tp (ms) ωp (pulsos/ms) τ (ms) A (pulsos/ms)

M0 47 17.5 30.1 17.11 0.73

M1 50 10.2 41 5.94 0.78

M2 73 26 64 12.42 1.14

M3 80 12 40.44 17.04 1.25

Tabla 3.2: Parametros estimados del modelo de primer orden de los ejes del robot SCARA.

Page 61: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.3. Control de velocidad 47

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30

35

40

45

50Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

Figura 3.11: Respuesta al escalon del motor M0 (hombro).

Haciendo uso de Simulink se validaron los modelos obtenidos de los ejes del robot

SCARA, introduciendo la funcion de transferencia de cada eje y aplicandole la entrada

escalon digital que el microcontrolador le aplico para realizar la prueba, esto es el comando

digital u = 64. Las respuestas de la simulacion se muestran en las Figuras 3.15 a 3.18, donde

se muestran tambien, como referencia, las respuestas del sistema al escalon de las Figuras

3.11 a 3.14. En estas graficas se puede observar que el modelo matematico obtenido del

robot SCARA es semejante y lo suficientemente aproximado al modelo real del robot.

3.3.3. Diseno del control IP digital

En esta seccion se describe el metodo mediante el cual se diseno el control IP

digital. Para ello, se parte del diagrama de bloques de la accion de control analogica que se

muestra en la Figura 3.8, cuya funcion de transferencia de lazo cerrado es:

Page 62: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

48 Capıtulo 3: Control del robot SCARA

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

10

20

30

40

50

60Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

Figura 3.12: Respuesta al escalon del motor M1 (codo).

Gp(s) =ω(s)

ωref(s)=

Ki

sGp(s)

1 +

(

Kp +Ki

s

)

Gp(s)

(3.39)

donde Gp(s) se aproxima a un sistema de primer orden dado por:

Gp(s) =A

τs + 1(3.40)

Sustituyendo la ecuacion 3.40 en 3.39, se tiene:

Gp(s) =ω(s)

ωref (s)=

Ki

s

A

τs + 1

1 +

(

Kp +Ki

s

)

A

τs + 1

(3.41)

Reduciendo la ecuacion 3.41:

Page 63: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.3. Control de velocidad 49

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

10

20

30

40

50

60

70

80Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

Figura 3.13: Respuesta al escalon del motor M2 (Theta Z).

G(s) =

KiA

s(τs + 1)

1 +KpAs + KiA

s(τs + 1)

=KiA

s(τs + 1) + KpAs + KiA=

KiA

s2τ + s(1 + KpA) + KiA

G(s) =

KiA

s

s2 + s

(

1 + KpA

τ

)

+KiA

τ

(3.42)

donde:

Ki = ganancia integral analogica

Kp = ganancia proporcional analogica

A = ganancia de CD de cada eje del robot

τ = constante de tiempo de cada eje del robot

Page 64: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

50 Capıtulo 3: Control del robot SCARA

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

10

20

30

40

50

60

70

80

90Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

Figura 3.14: Respuesta al escalon del motor M3 (Z).

Las ganancias analogicas del controlador IP (Ki y Kp) se pueden obtener com-

parando la ecuacion 3.42 con la funcion de transferencia general de segundo orden, que

esta dada por:

Y (s)

R(s)=

ω2n

s2 + 2ξωns + ω2n

(3.43)

donde:

ωn = frecuencia natural no amortiguada

ξ = relacion de amortiguamiento

Comparando las ecuaciones 3.42 y 3.43, se tiene que estas son iguales sı:

ω2n =

KiA

τ(3.44)

2ξωn =1 + KpA

τ(3.45)

Page 65: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.3. Control de velocidad 51

0 0.5 1 1.5 2 2.5 3 3.50

5

10

15

20

25

30

35

40

45

50Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

(a) Respuesta al escalon del modelo del robot SCA-

RA usando Simulink.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30

35

40

45

50Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

(b) Respuesta del robot SCARA ante la entrada es-

calon (u = 64).

Figura 3.15: Comparacion del modelo simulado del eje M0 (hombro) del robot SCARA conla respuesta obtenida del mismo.

Por lo que:

Ki =ω2nτ

A(3.46)

Kp =2ξωnτ − 1

A(3.47)

Los parametros ωn y ξ se seleccionan de manera que el maximo sobreimpulso

y la tolerancia alrededor del valor final sean lo menor posibles. Usualmente se elige un

sobreimpulso Mp menor al 5 % y una tolerancia del 2%.

El valor de la tolerancia (2 %) permite obtener de la ecuacion que rige el compor-

tamiento del tiempo de establicimiento ts la sigueinte relacion:

e−ξωnts ≤ 0,02

−ξωnts ≤ ln|0,02|

ξωnts ∼= 4

Por lo que:

ωn ≈ 4

ξts(3.48)

Page 66: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

52 Capıtulo 3: Control del robot SCARA

0 0.5 1 1.5 2 2.5 3 3.50

5

10

15

20

25

30

35

40

45

50Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

(a) Respuesta al escalon del modelo del robot SCA-

RA usando Simulink.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

10

20

30

40

50

60Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

(b) Respuesta del robot SCARA ante la entrada es-

calon (u = 64).

Figura 3.16: Comparacion del modelo simulado del eje M1 (codo) del robot SCARA con larespuesta obtenida del mismo.

Por otro lado, el maximo sobreimpulso ocurre en el tiempo pico (tiempo que tarda

el sistema en alcanzar su maxima magnitud en la salida ante una entrada escalon) y es

una medida de la naturaleza oscilatoria del sistema. La relacion que define el maximo

sobreimpuslo Mp es:

%Mp = 100e−(ξπ/√

1−ξ2) (3.49)

Despejando ξ de la ecuacion 3.49:

ξ =

ln2(Mp)

ln2(Mp) + π2(3.50)

Ası, para obtener un sobreimpulso menor al 5 % se requiere que ξ = 0,707. Con este

valor del factor de amortiguamiento y planteando por eleccion el tiempo de establecimiento

deseado del sistema, se puede calcular ωn de la ecuacion 3.48. Una vez realizado esto, se

obtienen las ganancias del cotrolador de las ecuaciones 3.46 y 3.47.

Aplicando el procedimiento descrito a cada eje del robot SCARA se obtuvieron las

ganancias analogicas y digitales a traves de las ecuaciones 3.46, 3.47, 3.25 y 3.26, las cuales

se muestran en la Tabla 3.3. La respuestas de los ejes del robot ante una entrada escalon

Page 67: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.3. Control de velocidad 53

0 0.5 1 1.5 2 2.5 3 3.50

10

20

30

40

50

60

70

80Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

(a) Respuesta al escalon del modelo del robot SCA-

RA usando Simulink.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

10

20

30

40

50

60

70

80Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

(b) Respuesta del robot SCARA ante la entrada es-

calon (u = 64).

Figura 3.17: Comparacion del modelo simulado del eje M2 (Theta Z) del robot SCARA conla respuesta obtenida del mismo.

de velocidad de valor 30 pulsos/mseg. usando los valores de las ganancias de la Tabla 3.3,

se muestran en la Figura 3.19.

Motor ts ωn Ki analogico Kp analogico Kid digital Kpd digital

M0 50 ms 114.285 306.13 2.38 0.31 2.22

M1 50 ms 114.285 99.44 -0.06 0.10 -0.11

M2 50 ms 114.285 142.3 0.87 0.14 0.79

M3 50 ms 114.285 178.05 1.38 0.18 1.29

Tabla 3.3: Ganancias calculadas para el controlador IP de velocidad.

En las respuestas de la Figura 3.19 el comportamiento de los motores no es el

optimo, salvo para M0, por lo que se modificaron las ganancias de la Tabla 3.3 para que su

comportamiento se acercara mas al deseado. En la Tabla 3.4 se encuentran las ganancias

para el controlador disenado que se obtuvieron a prueba y error tomando como base los

valores de las ganancias calculadas de la Tabla 3.3. Las graficas de las respuestas de los

motores utilizando las ganancias de la Tabla 3.4 en el controlador IP digital se muestran en

la Figura 3.20.

Page 68: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

54 Capıtulo 3: Control del robot SCARA

0 0.5 1 1.5 2 2.5 3 3.50

10

20

30

40

50

60

70

80Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

(a) Respuesta al escalon del modelo del robot SCA-

RA usando Simulink.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

10

20

30

40

50

60

70

80

90Velocidad vs. t

Tiempo (seg.)

Vel

ocid

ad (

puls

os/m

s)

(b) Respuesta del robot SCARA ante la entrada es-

calon (u = 64).

Figura 3.18: Comparacion del modelo simulado del eje M3 (Z) del robot SCARA con larespuesta obtenida del mismo.

Motor Kid digital Kpd digital

M0 0.32 2.24

M1 0.11 0.14

M2 0.09 0.9

M3 0.15 1.40

Tabla 3.4: Ganancias modificadas a prueba y error que optimizan el desempeno del contro-lador IP de velocidad.

El control digital de velocidad se implemento en el microcontrolador utilizando las

ganancias digitales y usando la ecuacion 3.23 como salida del mismo.

3.4. Control de posicion

Despues de haber obtenido el control de velocidad adecuado para cada eje del

robot SCARA, se requiere tambien de disenar e implementar el control de posicion. Este

control debe tener la propiedad de garantizar que la posicion final en la cual se encuentre

cada eje del robot sea igual a la posicion final en la cual se desea que este.

Debido a la simplicidad y a la experiencia adquirida en el analisis del control IP

usado en el controlador de velocidad, se usara el mismo tipo de control para controlar

Page 69: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.4. Control de posicion 55

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30Velocidad vs. t

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

(a) Respuesta de M0 al escalon de velocidad

con el controlador IP disenado.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30

35Velocidad vs. t

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

(b) Respuesta de M1 al escalon de velocidad

con el controlador IP disenado.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30

35

40Velocidad vs. t

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

(c) Respuesta de M2 al escalon de velocidad

con el controlador IP disenado.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30

35Velocidad vs. t

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

(d) Respuesta de M3 al escalon de velocidad

con el controlador IP disenado.

Figura 3.19: Graficas de la respuesta de cada eje del robot SCARA ante una entrada escalonωref = 30 pulsos/mseg. con los valores del controlador IP disenado de la Tabla 3.3.

la posicion de cada eje del robot. Sin embargo, para simplificar el analisis del control de

posicion se obtendra un modelo aproximado del controlador IP de velocidad. La idea basica

es aproximar el controlador de velocidad a un modelo de primer orden.

3.4.1. Obtencion del modelo aproximado del controlador de velocidad

La Figura 3.5 muestra el diagrama de control en lazo cerrado tanto del control de

velocidad como del de posicion. Si agrupamos en un bloque el controlador de velocidad y

la planta Gp(s), como se muestra en la Figura 3.21, entonces el diagrama de control queda

como en la Figura 3.22.

Page 70: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

56 Capıtulo 3: Control del robot SCARA

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30Velocidad vs. t

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

(a) Respuesta de M0.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30

35Velocidad vs. t

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

(b) Respuesta de M1.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30

35Velocidad vs. t

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

(c) Respuesta de M2.

0 0.05 0.1 0.15 0.2 0.25 0.3 0.350

5

10

15

20

25

30

35Velocidad vs. t

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

(d) Respuesta de M3.

Figura 3.20: Graficas de la respuesta de cada eje del robot SCARA ante una entrada escalonωref = 30 pulsos/mseg. utilizando los valores de la Tabla 3.4 en el controlador IP.

Sı se usa un controlador proporcional en el control de posicion de la Figura 3.22

y se aplica una entrada escalon, se obtendra una respuesta similar a la de un sistema de

primer orden. Esto es debido a que, de manera analoga a la aproximacion que se hizo de

Gp(s) en la seccion 3.3.2, Fp(s) se puede aproximar a un sistema de primer orden cuando su

constante de tiempo es grande. Ası, el controlador de posicion se modifica a un controlador

proporcional, como se muestra en la Figura 3.23.

De esta manera, al hacer P = 0,01 y aplicando una entrada escalon θref = 10000

pulsos, se obtienen las respuestas para cada eje del robot, las cuales se muestran en la Figura

3.24.

Como se observa en las graficas de la Figura 3.24, la posicion final de los motores

Page 71: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.4. Control de posicion 57

S

Control de

Velocidad Gp(s)

θ

ω

θref Control de

Posicionpulsos

+

_

+ωref

Fp(s)

Figura 3.21: Diagrama de bloques del control de posicion en lazo cerrado.

θref Control de

Posicionpulsos

+

_

ωrefFp(s)

θ

Figura 3.22: Diagrama de bloques del control de posicion agrupando el controlador develocidad y Gp(s) en Fp(s) .

(θ) es diferente de la posicion deseada (θref ), siendo este error muy significativo. De acuerdo

a las bases de teorıa de control, un sistema bajo un control proporcional debe ser capaz de

llegar al valor de la referencia aplicada. Esto no ocurrio al realizar esta prueba en los ejes

del robot, por lo que se reviso el controlador. Al analizar con mayor detalle el control de

velocidad se determino que este no era muy eficiente, ya que, como se puede observar en

las graficas de la Figura 3.25, para velocidades pequenas y negativas el control ya no sigue

la velocidad deseada. Es debido a este hecho que el valor final de la posicion no sea el valor

deseado, por lo tanto se tendra que ajustar el controlador de velocidad.

θref

pulsos

+

_

ωrefFp(s)

θP

Figura 3.23: Control de posicion proporcional.

Page 72: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

58 Capıtulo 3: Control del robot SCARA

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Posicion vs. t

Tiempo (seg)

Pos

icio

n (p

ulso

s)

(a) Respuesta de M0 ante la entrada escalon en

el control de posicion.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Posicion vs. t

Tiempo (seg)

Pos

icio

n (p

ulso

s)

(b) Respuesta de M1 ante la entrada escalon en

el control de posicion.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

2000

4000

6000

8000

10000

Posicion vs. t

Tiempo (seg)

Pos

icio

n (p

ulso

s)

(c) Respuesta de M2 ante la entrada escalon en

el control de posicion.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

2000

4000

6000

8000

10000

Posicion vs. t

Tiempo (seg)

Pos

icio

n (p

ulso

s)

(d) Respuesta de M3 ante la entrada escalon en

el control de posicion.

Figura 3.24: Graficas de la respuesta de cada eje del robot SCARA ante una entrada escalonθref = 10000 con un controlador proporcional (P = 0,01) como control de posicion.

Ajuste del controlador de velocidad

Para eliminar el error en estado estable que surge en el control de posicion es

necesario eliminar primero el error del controlador de velocidad. El primer paso para lograr

el objetivo es ajustar los valores de las ganancias Kid y Kpd del controlador de velocidad.

Ası, mediante prueba y error, teniendo como base el analisis realizado para el calculo de

estas ganancias y haciendo uso del programa desarrollado con el fin de reducir en la practica

este error, se obtuvieron los valores ajustados de las ganancias del controlador de velocidad

de la Tabla 3.5.

Page 73: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.4. Control de posicion 59

Motor Kid digital Kpd digital

M0 1.2 4.0

M1 1.0 4.0

M2 1.1 3.0

M3 1.6 4.0

Tabla 3.5: Ganancias ajustadas para el controlador IP de velocidad.

Al realizar de nuevo la prueba mostrada como diagrama de bloques en la Figura

3.23 con P = 0,001 y con los nuevos valores de las ganancias Kid y Kpd de la Tabla 3.5, se

obtienen las respuestas de la Figura 3.26.

En las graficas de respuesta de la Figura 3.26 se observa que el valor final de la

posicion en los cuatro ejes del robot alcanza el valor de la referencia θref = 10000 pulsos

antes de cuatro segundos. Esto significa que con los nuevos valores de las ganancias del

controlador de velocidad se ha eliminado el error que se tenıa, y que ahora para cada eje del

robot su velocidad sigue la velocidad deseada sin importar que valor tenga. Lo anterior se

cumple siempre y cuando la velocidad deseada se encuentre dentro de los lımites permisibles

de velocidad de cada eje del robot.

Modelo aproximado del controlador de velocidad

Una vez obtenidas las respuestas del controlador de posicion aplicado a los ejes

del robot SCARA, se obtienen los modelos correspondientes al aproximarlos a un sistema

de primer orden, de forma similar a como se realizo con Gp(s) en la seccion 3.3.2. Los

parametros obtenidos en base a las respuestas de la Figura 3.26 se muestran en la Tabla

3.6.

Motor θss (pulsos) tp (seg.) θp (pulsos) τ (seg.) A (pulsos)

M0 10 000 1.511 7286 1.1586 1

M1 10 000 1.165 6400 1.1403 1

M2 10 000 1.37 7010 1.1348 1

M3 10 000 1.702 7660 1.1718 1

Tabla 3.6: Parametros estimados del modelo de primer orden de la Figura 3.23.

Page 74: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

60 Capıtulo 3: Control del robot SCARA

3.4.2. Diseno del controlador IP digital

El control para la posicion se trata de un control IP, igual que el de velocidad. Este

se muestra en la Figura 3.27 a manera de diagrama de bloques en forma analogica, donde

Hp(s) es la funcion aproximada de la Figura 3.23 y sus parametros son los mostrados en la

Tabla 3.6. En la Figura 3.28 se muestra este mismo diagrama en forma digital.

Siguiendo la metodologıa aplicada en la seccion 3.3.3 para obtener las ganancias

del controlador IP digital de velocidad, se calcularon los parametros correspondientes para

obtener las ganancias digitales para el controlador IP de posicion de la Figura 3.27. Para la

obtencion de las ganancias analogicas y digitales se planteo un tiempo de establecimiento de

2.5 seg. y se usaron las ecuaciones 3.46, 3.47, 3.48, 3.17 y 3.18, acoplandolas a las variables

del caso del controlador de posicion. Las ganancias calculadas se muestran en la Tabla 3.7.

Motor ts (seg.) ωn Ci analogica Cp analogica Cid digital Cpd digital

M0 2.5 2.263 5.9337 2.7074 0.006076 2.7044

M1 2.5 2.263 5.8401 2.6489 0.00598 2.646

M2 2.5 2.263 5.8116 2.6312 0.005951 2.6282

M3 2.5 2.263 6.0015 2.7498 0.006145 2.7467

Tabla 3.7: Ganancias analogicas y digitales calculadas para el controlador IP de posiciondel robot.

Al introducir las ganancias digitales Cid y Cpd calculadas en el controlador IP de

posicion, y aplicando la entrada escalon θref = 10000 al sistema mostrado en la Figura 3.21

se obtienen las respuestas mostradas en la Figura 3.29.

Se puede ver claramente en las graficas de la Figura 3.29 que la posicion de los ejes

del robot no alcanzan el valor de la posicion deseada θref , razon por la cual se modificaron

las ganancias del controlador IP de posicion de manera que se cumplieran las caracterısticas

deseadas en la curva de respuesta de la posicion. La razon por la cual las respuestas obtenidas

difieren tanto de las esperadas en un controlador IP, se debe a que el modelo estimado

de Hp(s) es un modelo aproximado y no representa en la realidad el modelo matematico

aproximado del conjunto de la Figura 3.23, ademas de que el controlador proporcional

de posicion se hizo P = 0,001 (reduce la ganancia de CD) y se considero en el modelo

matematico del bloque Hp(s) que la accion del lazo de retroalimentacion era nula. Las

ganancias modificadas para el controlador IP de posicion se muestran en la Tabla 3.8.

Page 75: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.4. Control de posicion 61

Observese que los valores de la ganancia Cpd se mantienen practicamente iguales a los valores

calculados, mientras que los valores de la ganancia Cid fueron grandemente modificados.

Las graficas de la Figura 3.30 muestran la respuesta de cada motor al escalon de posicion

haciendo uso de estas ganancias modificadas.

Motor Cid digital Cpd digital

M0 0.20 2.70

M1 0.22 2.65

M2 0.24 2.70

M3 0.22 2.80

Tabla 3.8: Ganancias digitales modificadas de las calculadas para que el controlador IP deposicion del robot cumpla con las caracterısticas deseadas en la curva de respuesta.

Page 76: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

62 Capıtulo 3: Control del robot SCARA

0 1 2 3 4 5

0

20

40

60

80

100

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

Velocidad vs. t

Vel.Vel. deseada

(a) Velocidades deseada y real del eje M0 obtenidas

en la prueba realizada al controlador de posicion

proporcional.

0 1 2 3 4 5

0

20

40

60

80

100

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

Velocidad vs. t

Vel.Vel. deseada

(b) Velocidades deseada y real del eje M1 obtenidas

en la prueba realizada al controlador de posicion

proporcional.

0 1 2 3 4 5

0

20

40

60

80

100

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

Velocidad vs. t

Vel.Vel. deseada

(c) Velocidades deseada y real del eje M2 obtenidas

en la prueba realizada al controlador de posicion

proporcional.

0 1 2 3 4 5

0

20

40

60

80

100

Tiempo (seg)

Vel

ocid

ad (

puls

os/m

s)

Velocidad vs. t

Vel.Vel. deseada

(d) Velocidades deseada y real del eje M3 obtenidas

en la prueba realizada al controlador de posicion

proporcional.

Figura 3.25: Graficas que describen el comportamiento del control de velocidad ante laprueba de escalon realizada que fue aplicada al control de posicion. La velocidad deseadaes representada mediante la lınea continua, mientras que la velocidad del motor mediantela discontinua.

Page 77: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.4. Control de posicion 63

0 1 2 3 4 5 60

2000

4000

6000

8000

10000

12000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(a) Respuesta de M0 ante la entrada escalon en el

control de posicion con las nuevas ganancias del

controlador de velocidad.

0 1 2 3 4 5 60

2000

4000

6000

8000

10000

12000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(b) Respuesta de M1 ante la entrada escalon en el

control de posicion con las nuevas ganancias del

controlador de velocidad.

0 1 2 3 4 5 60

2000

4000

6000

8000

10000

12000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(c) Respuesta de M2 ante la entrada escalon en el

control de posicion con las nuevas ganancias del

controlador de velocidad.

0 1 2 3 4 5 60

2000

4000

6000

8000

10000

12000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(d) Respuesta de M3 ante la entrada escalon en el

control de posicion con las nuevas ganancias del

controlador de velocidad.

Figura 3.26: Graficas de la respuesta de cada eje del robot SCARA ante una entrada escalonθref = 10000 con un controlador proporcional (P = 0,001) como control de posicion y conlas ganancias del controlador IP de velocidad de la Tabla 3.5.

Page 78: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

64 Capıtulo 3: Control del robot SCARA

− −

θref refω+ +

Controlador IP

Hp(s)

pulsos pulsos

θi

S

p

C

C

Figura 3.27: Diagrama de bloques del control IP de posicion con Hp(s) como diagramaequivalente de la Figura 3.23 .

−z−1z

(z) (z)ωref++

Controlador IP digital

ref (z)id

pd

Hp(z)C

C

θ θ

Figura 3.28: Diagrama de bloques del control IP de posicion en forma digital.

Page 79: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

3.4. Control de posicion 65

0 1 2 3 4 5 60

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(a) Respuesta de M0 ante el controlador IP de po-

sicion.

0 1 2 3 4 5 60

1000

2000

3000

4000

5000

6000

7000

8000

9000Posicion vs. t

Tiempo (seg.)P

osic

ion

(pul

sos)

(b) Respuesta de M1 ante el controlador IP de po-

sicion.

0 1 2 3 4 5 60

1000

2000

3000

4000

5000

6000

7000

8000

9000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(c) Respuesta de M2 ante el controlador IP de po-

sicion.

0 1 2 3 4 5 60

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(d) Respuesta de M3 ante el controlador IP de po-

sicion.

Figura 3.29: Graficas de la respuesta de cada eje del robot SCARA ante una entrada escalonθref = 10000 usando el controlador IP digital de posicion disenado y las ganancias digitalesde la Tabla 3.7.

Page 80: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

66 Capıtulo 3: Control del robot SCARA

0 1 2 3 4 5 60

2000

4000

6000

8000

10000

12000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(a) Respuesta de M0.

0 1 2 3 4 5 60

2000

4000

6000

8000

10000

12000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(b) Respuesta de M1.

0 1 2 3 4 5 60

2000

4000

6000

8000

10000

12000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(c) Respuesta de M2.

0 1 2 3 4 5 60

2000

4000

6000

8000

10000

12000Posicion vs. t

Tiempo (seg.)

Pos

icio

n (p

ulso

s)

(d) Respuesta de M3.

Figura 3.30: Graficas de la respuesta de cada eje del robot SCARA ante una entrada escalonθref = 10000 utilizando las ganancias de la Tabla 3.8 en el controlador IP digital de posicion.

Page 81: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Capıtulo 4

Extra

4.1. Control de los motores de CD

Los problemas principales que se enfrentaron durante este trabajo fueron: (1) el

diseno e implementacion de un algoritmo de control (posicion y velocidad) que cumpla con

determinadas caracterısticas especıficas, con las cuales se considera que el brazo-robot tiene

un desempeno aceptable en cuanto a precision, repetibilidad y velocidad, y (2) el diseno y

construccion de los circuitos de potencia, control e instrumentacion asociados al brazo-robot

para que realice un buen desempeno.

67

Page 82: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 83: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Apendice A

Hojas de datos de fabricantes

A.1. Motor de CD Pittman GM8724S011

La Tabla A.1 muestra los datos principales de este dispositivo en cuanto a montaje,

caja de engranes, encoder y el propio motor.

En la Figura A.1 se pueden observar las curvas caracterısticas de este motor.

(a) Curva caracterıstica del motor Velocidad y

Corriente vs. Torque.

(b) Curva caracterıstica del motor Potencia y Efi-

ciencia vs. Torque.

Figura A.1: Curvas caracterısticas del motor Pittman GM8724S011

69

Page 84: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

70 Apendice A: Hojas de datos de fabricantes

A.2. Motor de CD Pittman GM9236S021

La Tabla A.2 muestra los datos principales de este dispositivo en cuanto a montaje,

caja de engranes, encoder y el propio motor.

En la Figura A.2 se pueden observar las curvas caracterısticas de este motor.

(a) Curva caracterıstica del motor Velocidad y

Corriente vs. Torque.

(b) Curva caracterıstica del motor Potencia y Efi-

ciencia vs. Torque.

Figura A.2: Curvas caracterısticas del motor Pittman GM9236S021

A.3. Motor de CD Pittman GM9236S027

La Tabla A.3 muestra los datos principales de este dispositivo en cuanto a montaje,

caja de engranes, encoder y el propio motor.

En la Figura A.3 se pueden observar las curvas caracterısticas de este motor.

A.4. Motor de CD Pittman GM14904S016

La Tabla A.4 muestra los datos principales de este dispositivo en cuanto a montaje,

caja de engranes, encoder y el propio motor.

En la Figura A.4 se pueden observar las curvas caracterısticas de este motor.

Page 85: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

A.4. Motor de CD Pittman GM14904S016 71

(a) Curva caracterıstica del motor Velocidad y

Corriente vs. Torque.

(b) Curva caracterıstica del motor Potencia y Eficien-

cia vs. Torque.

Figura A.3: Curvas caracterısticas del motor Pittman GM9236S027

(a) Curva caracterıstica del motor Velocidad y

Corriente vs. Torque.

(b) Curva caracterıstica del motor Potencia y Efi-

ciencia vs. Torque.

Figura A.4: Curvas caracterısticas del motor Pittman GM14904S016

Page 86: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

72 Apendice A: Hojas de datos de fabricantes

Datos de montaje Unidades Valor

Voltaje de referencia V 24Velocidad s/carga rpm (rad/s) 720 (75.4)Torque continuo (max.) oz-in (N-m) 15 (1.0E-01)Torque pico al arranque oz-in (Nm) 42 (3.0E-01)Peso oz (g) 11.2 (316)

Datos del motor

Torque constante oz-in/A (N-m/A) 6.18 (4.36E-02)Fuerza contraelectromotriz constante V/krpm (V/rad/s) 4.57 (4.36E-02)Resistencia Ω 17.0Inductancia mH 9.35Corriente s/carga A 0.09Corriente pico al arranque A 1.41

Constante del motor oz − in/√

W (N − m/√

W ) 1.49 (1.05E-02)Torque de friccion oz-in (N-m) 0.35 (2.5E-03)Inercia del rotor oz − in − s2 (kg − m2) 2.3E-04 (1.6E-06)Constante de tiempo electrica ms 0.54Constante de tiempo mecanica ms 14.7Viscosidad de amortiguamiento oz-in/krpm (N-m-s) 0.020 (1.4E-06)Constante de amortiguacion oz-in/krpm (N-m-s) 1.6 (1.1E-04)Temperatura maxima de devanado F (C) 311 (155)Impedancia termica F/watt (C/watt) 70.5 (21.4)Constante de tiempo termica min 10.7

Datos de caja de engranes

Relacion de reduccion 6.3Eficiencia 0.95Torque max. permitido oz-in (N-m) 100 (0.71)

Datos del encoder

Canales 3Resolucion CPR 500

Tabla A.1: Datos principales del motor Pittman GM8724S011

Page 87: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

A.4. Motor de CD Pittman GM14904S016 73

Datos de montaje Unidades Valor

Voltaje de referencia V 24Velocidad s/carga rpm (rad/s) 236 (24.7)Torque continuo (max.) oz-in (N-m) 153 (1.1E+00)Torque pico al arranque oz-in (Nm) 860 (6.1E+00)Peso oz (g) 23.3 (661)

Datos del motor

Torque constante oz-in/A (N-m/A) 6.49 (4.58E-02)Fuerza contraelectromotriz constante V/krpm (V/rad/s) 4.80 (4.58E-02)Resistencia Ω 2.49Inductancia mH 2.63Corriente s/carga A 0.16Corriente pico al arranque A 9.64

Constante del motor oz − in/√

W (N − m/√

W ) 4.11 (2.90E-02)Torque de friccion oz-in (N-m) 0.80 (5.6E-03)Inercia del rotor oz − in − s2 (kg − m2) 1.0E-03 (7.1E-06)Constante de tiempo electrica ms 1.06Constante de tiempo mecanica ms 8.5Viscosidad de amortiguamiento oz-in/krpm (N-m-s) 0.053 (3.5E-06)Constante de amortiguacion oz-in/krpm (N-m-s) 12.5 (8.5E-04)Temperatura maxima de devanado F (C) 311 (155)Impedancia termica F/watt (C/watt) 56.3 (13.5)Constante de tiempo termica min 13.5

Datos de caja de engranes

Relacion de reduccion 19.7Eficiencia 0.84Torque max. permitido oz-in (N-m) 500 (3.53)

Datos del encoder

Canales 3Resolucion CPR 500

Tabla A.2: Datos principales del motor Pittman GM9236S021

Page 88: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

74 Apendice A: Hojas de datos de fabricantes

Datos de montaje Unidades Valor

Voltaje de referencia V 24Velocidad s/carga rpm (rad/s) 71 (7.4)Torque continuo (max.) oz-in (N-m) 480 (3.4E+00)Torque pico al arranque oz-in (Nm) 2585 (1.8E+01)Peso oz (g) 23.7 (671)

Datos del motor

Torque constante oz-in/A (N-m/A) 6.49 (4.58E-02)Fuerza contraelectromotriz constante V/krpm (V/rad/s) 4.80 (4.58E-02)Resistencia Ω 2.49Inductancia mH 2.63Corriente s/carga A 0.16Corriente pico al arranque A 9.64

Constante del motor oz − in/√

W (N − m/√

W ) 4.11 (2.90E-02)Torque de friccion oz-in (N-m) 0.80 (5.6E-03)Inercia del rotor oz − in − s2 (kg − m2) 1.0E-03 (7.1E-06)Constante de tiempo electrica ms 1.06Constante de tiempo mecanica ms 8.5Viscosidad de amortiguamiento oz-in/krpm (N-m-s) 0.053 (3.5E-06)Constante de amortiguacion oz-in/krpm (N-m-s) 12.5 (8.5E-04)Temperatura maxima de devanado F (C) 311 (155)Impedancia termica F/watt (C/watt) 56.3 (13.5)Constante de tiempo termica min 13.5

Datos de caja de engranes

Relacion de reduccion 65.5Eficiencia 0.80Torque max. permitido oz-in (N-m) 500 (3.53)

Datos del encoder

Canales 3Resolucion CPR 500

Tabla A.3: Datos principales del motor Pittman GM9236S027

Page 89: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

A.4. Motor de CD Pittman GM14904S016 75

Datos de montaje Unidades Valor

Voltaje de referencia V 24Velocidad s/carga rpm (rad/s) 179 (18.7)Torque continuo (max.) oz-in (N-m) 374 (2.6)Torque pico al arranque oz-in (Nm) 2934 (20.7)Peso oz (g) 44.7 (1268)

Datos del motor

Torque constante oz-in/A (N-m/A) 8.67 (6.12E-02)Fuerza contraelectromotriz constante V/krpm (V/rad/s) 6.41 (6.12E-02)Resistencia Ω 1.01Inductancia mH 1.6Corriente s/carga A 0.26Corriente pico al arranque A 23.8

Constante del motor oz − in/√

W (N − m/√

W ) 8.63 (6.09E-02)Torque de friccion oz-in (N-m) 1.6 (1.1E-02)Inercia del rotor oz − in − s2 (kg − m2) 3.7E-03 (2.6E-05)Constante de tiempo electrica ms 1.58Constante de tiempo mecanica ms 7.0Viscosidad de amortiguamiento oz-in/krpm (N-m-s) 0.18 (1.2E-05)Constante de amortiguacion oz-in/krpm (N-m-s) 55 (3.7E-03)Temperatura maxima de devanado F (C) 311 (155)Impedancia termica F/watt (C/watt) 45.9 (7.7)Constante de tiempo termica min 28.8

Datos de caja de engranes

Relacion de reduccion 19.7Eficiencia 0.84Torque max. permitido oz-in (N-m) 500 (3.53)

Datos del encoder

Canales 3Resolucion CPR 500

Tabla A.4: Datos principales del motor Pittman GM14904S016

Page 90: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

76 Apendice A: Hojas de datos de fabricantes

Figura A.5: Hoja de datos del drive LMD18200 para los motores

Page 91: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

A.4. Motor de CD Pittman GM14904S016 77

Figura A.6: Hoja de datos del drive LMD18200 para los motores

Page 92: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 93: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Apendice B

Circuitos impresos desarrollados

79

Page 94: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 95: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Apendice C

Programa del microcontrolador

81

Page 96: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director
Page 97: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Referencias

[Actuator06] Actuator, I. IX SCARA, 2006.

URL http://www.dispensinglink.com/scara robot.htm/.

Updated: 2006/02/28

[Arellano05] Arellano, J. Reconstruccion tridimensional de ambientes interiores uti-

lizando un robot movil equipado con un telemetro laser. Proyecto Fin de

Carrera, Universidad Michoacana de San Nicloas de Hidalgo, Facultad

de Ingenierıa Electrica, Division de Estidios de Posgrado, Agosto 2005.

[Arts04] Arts, T., 2004.

URL http://technologicalarts.com/. Updated: 2004/09/22

[Astrom98] Astrom, K. J. y Hagglund, T. PID Controlers. Instrument Society of

America, 1998.

[Automation06] Automation, C. Gearmotors Products Series Data Sheet, 2006.

URL http://www.clickautomation.com/products/index.php

Updated: 2006/10/20

[Barrientos97] Barrientos, A., Balaguer, C., Penin, L. F., y Arcil, R. Fundamentos de

Robotica. McGraw Hill, 1997.

[Brumson06] Brumson, B. Scara vs. Cartesian Robots: Selecting the Right Type for

Your Applications, 2006.

URL http://www.roboticsonline.com/public/articles/-

archivedetails.cfm?id=518/. Updated: 2006/02/03

[Carrez06] Carrez, S. GNU for 68HC11/68HC12, 2006.

URL http://stephane.carrez.free.fr/. Updated 2006/02/28

83

Page 98: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

84 Referencias

[Com06a] Com, R. D. Dispensing Robot - SCARA JSR 4400 Series, 2006.

URL http://www.dispensingrobots.com/SCARA.htm/. Updated:

2006/03/09

[Com06b] Com, R. D. JS SCARA Series, 2006.

URL http://www.scara-robots.com/JS250350brochure.pdf/.

Updated: 2006/03/09

[Concha06] Concha, A. Diseno y construccion de un robot movil. En Tesis de Licen-

ciatura, Universidad Michoacana de San Nicolas de Hidalgo, Facultad

de Ingenierıa Electrica. Noviembre 2006.

[Eaton06] Eaton, J. W. Octave software, 2006.

URL http://octave.org. Updated 2006/04/15

[Educativa06] Educativa, T. Robot SCARA didactico de 4 ejes - Serpent, 2006.

URL http://www.tecnoedu.com/Feedback/Serpent.php/.

Updated: 2006/03/15

[Estrada06] Estrada, C. Diseno de un sistema de control de seguimiento de tra-

yectorias para un robot movil. Proyecto Fin de Carrera, Universidad

Michoacana de San Nicloas de Hidalgo, Facultad de Ingenierıa Electri-

ca, Division de Estidios de Posgrado, Marzo 2006.

[Fisnar06] Fisnar, I. Robot SCARA TMB100, 2006.

URL http://www.ijfisnar.com/spain/details.asp?product=46/.

Updated: 2006/03/04

[Jones98] Jones, J. L., Flynn, A. M., y Seiger, B. A. Mobile Robots. Cambridge

University Press., 1998.

[Motoman06] Motoman. HM & HS Series SCARA: The Right Robot to Meet Your

4-Axis Needs, 2006.

URL http://www.motoman.com/products/robots/models/scara.htm/.

Updated: 2006/03/09

Page 99: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Referencias 85

[Motorola02] Motorola. MC9S12DP256B Device User V02.11, 2002.

URL http://e-www.motorola.com/file/soft dev tools/data sheet/-

9S12DP256B-ZIP.zip

[Ogata93] Ogata, K. Ingenierıa de Control Moderna. Prentice Hall., 1993.

[Ogata96] Ogata, K. Sistemas de Control en Tiempo Discreto. Prentice Hall.,

1996.

[Petriu06] Petriu, E. M. Manipulators Arms, 2006.

URL http://www.site.uottawa.ca/ petriu/-

CEG4392-IntroRobotics-Arms.pdf/. Updated: 2006/02/15

[Ramırez98] Ramırez, S. Diseno y construccion de un manipulador con dos grados

de libertad y orientacion del efector final. Proyecto Fin de Carrera, Uni-

versidad Michoacana de San Nicloas de Hidalgo, Facultad de Ingenierıa

Electrica, Division de Estidios de Postgrado, Octubre 1998.

[Robotics06a] Robotics, P. Robot Products, 2006.

URL http://www.peakrobotics.com/Products.htm/. Updated:

2006/02/12

[Robotics06b] Robotics, P. What is a SCARA?, 2006.

URL http://www.peakrobotics.com/What is a SCARA.htm/.

Updated: 2006/02/12

[Romero99] Romero, L. Navegacion de robots moviles en ambientes interiores. En

Informe tecnico, Instituto Tecnologico y de Estudios Superiores de Mon-

terrey, Campus Cuernavaca. 1999.

[Romero01] Romero, L. Construccion de mapas y localizacion de robots moviles: un

enfoque probabilısta. Tesis Doctoral, Instituto Tecnologico y de Estudios

Superiores de Monterrey, Campus Cuernavaca, 2001.

[Romero04a] Romero, L. Protocolo de comunicacion serial con el robot, 2004. Uni-

versidad Michoacana de San Nicolas de Hidalgo. Facultad de Ingenierıa

Electrica. Division de Estudios de Posgrado.

Page 100: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

86 Referencias

[Romero04b] Romero, L. y Arellano, J. Building an open platform for mobile robotics.

August 2004. International Symposium on Robotics and Automation

(ISRA 2004).

URL http://faraday.fie.umich.mx/ lromero

[Rosen06] Rosen, J. Manipulator Mecanical Design. En Department of Electrical

Engineering. University of Washington, 2006.

[Salimian06] Salimian, M. Robot Configurations: SCARA, 2006.

URL http://jewel.morgan.edu/ salimian/courses/IEGR470/-

scara.html/. Updated: 2006/03/10

[Semiconductor99] Semiconductor, N. LMD18200 3A, 55V H-Bridge, 1999.

URL http://www.national.com/LM/LMD18200.pdf/

[Solutions06] Solutions, I. D. SCARA Robot, 2006.

URL http://www.intelligentactuator.com/products/SCARA/-

Default.asp/. Updated: 2006/01/27

[Spong89] Spong, M. W. y Vidyasagar, M. Robot Dynamic and Control. John

Wiley & Sons, 1989.

[Stallman01] Stallman, R. The GNU project, 2001.

URL http://www.gnu.org/. Updated: 2004/05/26

[Technology] Technology, A.

URL http://www.adept.com/. Updated: 2006/02/22

[Valvano04] Valvano, J. W. Developing Embedded Software in C. En University of

Texas. 2004.

URL http://www.ece.utexas.edu/ valvano/. Updated:

2004/01/23

[Wikipedia06] Wikipedia. SCARA Robot, 2006.

URL http://en.wikipedia.org/wiki/SCARA robot/. Updated:

2006/03/10

[Williams02] Williams, M. Building the linux of the robot world. PCWorld, March

2002.

Page 101: DISENO Y CONSTRUCCI˜ ON DE UN BRAZO´ MANIPULADOR SCARAdep.fie.umich.mx/~lromero/tesistas_lic/2007_omar_rios_lopez_tesis.… · Omar R´ıos L´opez Leonardo Romero Mun˜oz Director

Referencias 87

[Yamaha06] Yamaha, M. What is the SCARA robot, 2006.

URL http://www.yamaha-motor.co.jp/global/business/-

robot/ykx/what/index.html/. Updated: 2006/01/17