SlideShare una empresa de Scribd logo
1 de 157
Descargar para leer sin conexión
UNIVERSIDAD CARLOS III DE MADRID
DEPARTAMENTO DE INGENIER´IA DE SISTEMAS Y AUTOM ´ATICA
TESIS DE M ´ASTER
ARQUITECTURA HARDWARE-SOFTWARE PARA
DISE ˜NO, AN ´ALISIS Y CONTROL DE ROBOTS
Autor: H´ıgor Alves Amorim do Amaral
Director: Ram´on Barber Casta˜no
Codirector: Antonio Flores Caballero
M ´ASTER OFICIAL EN
ROB ´OTICA Y AUTOMATIZACI ´ON
LEGAN´ES, MADRID
MARZO 2014
II
UNIVERSIDAD CARLOS III DE MADRID
MASTER OFICIAL EN ROB ´OTICA Y AUTOMATIZACI ´ON
El tribunal aprueba la tesis de Master titulada
“ARQUITECTURA HARDWARE-SOFTWARE PARA DISE ˜NO,
AN ´ALISIS Y CONTROL DE ROBOTS” realizado por
H´ıgor Alves Amorim do Amaral.
Fecha: Marzo 2014
Tribunal:
Santiago Garrido Bull´on
Cristina Castej´on Sisam´on
Jonathan Crespo Herrero
Dedico esta tesis de mestrado primeiramente a Deus por ter me
guiado por todo este tempo e por toda minha vida, me iluminando
e ajudando em como trilhar meu caminho, depois agradecer aos
meus pa´ıs Ayrton Amaral e Edna Amaral, que sem eles eu n˜ao
poderia ter a oportunidade de cursar uma boa universidade e
muito menos pensar em estudar fora do pa´ıs, depois ao meu irm˜ao
Marco T´ulio Amaral que sempre me apoiou e me orientou muito
bem para escolher a melhor op¸c˜ao e oportunidade de estudo, queria
agradecer a minha vov´o Maria Martins que sempre me apoiou e
sempre me ajudou, e a minha namorada Julina Ferreira que sempre
esteve ao meu lado, mesmo nas horas mais dif´ıceis que me
encontrava em certos momentos de minha vida profissional.
Ya sabemos como es la vida: en un d´ıa todo est´a bien y en otro las cosas ya no son tan
perfectas. Altos y bajos son parte de la construcci´on de nuestro car´acter. Con esto, cada
momento, cada situaci´on, que vamos a enfrentar en nuestras trayectorias es un desaf´ıo,
una oportunidad ´unica de aprender, de ser una mejor persona. Solamente depende de
nosotros, de nuestras opciones. No s´e si estoy cerca o demasiado lejos, si me dieron la
direcci´on correcta o la equivocada. Solo s´e que sigo adelante, viviendo el mismo d´ıa de
forma diferente. Ya no camino m´as solo, llevo conmigo cada recuerdo, cada experiencia,
cada lecci´on. Y aunque que todo no ande de la manera que me gustar´ıa, saber que ya no
soy el mismo de ayer me hace percibir que vale la pena. Busqu´e ser una persona de
valor, en vez de una persona de ´exito. El ´exito es solamente una consecuencia.
Albert Einstein.
´Indice general
´Indice de Tablas X
´Indice de Figuras XIII
Agradecimientos XVII
Resumen XIX
Abstract XXI
1. Introducci´on 1
1.1. Motivaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Partes del documento . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2. Descripci´on del sistema propuesto 11
2.1. Ciclo de dise˜no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2. Elecci´on del hardware de control . . . . . . . . . . . . . . . . . . . 13
2.2.1. PMAC de Delta TAU . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2. PCLAB de Advantech . . . . . . . . . . . . . . . . . . . . . 15
2.2.3. Tarjeta de adquisici´on de datos USB: Keithley kusb 3100 . 16
VII
2.2.4. Soluci´on basada en microcontroladores de bajo coste . . . 17
2.3. Arquitectura de control propuesta . . . . . . . . . . . . . . . . . . 21
2.4. Plataforma hardware: Robot Sidemar . . . . . . . . . . . . . . . . 21
2.5. Sistemas software involucrados . . . . . . . . . . . . . . . . . . . . 25
2.5.1. AutoCad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.2. Inventor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5.3. Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.4. SimMechanics . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3. Modelado CAD del robot Sidemar 33
3.1. Modelado del robot Sidemar con AutoCad 2013 . . . . . . . . . . 33
3.1.1. Base del sistema o bancada . . . . . . . . . . . . . . . . . . 34
3.1.2. Primer eslab´on (Brazo 1) . . . . . . . . . . . . . . . . . . . . 36
3.1.3. Segundo eslab´on (Brazo 2) . . . . . . . . . . . . . . . . . . . 38
3.2. Modelado del Robot Sidemar con Inventor 2013 . . . . . . . . . . 39
3.3. Ensamblado del robot Sidemar en Inventor . . . . . . . . . . . . . 40
3.4. Estudios del robot Sidemar en Inventor . . . . . . . . . . . . . . . 43
3.4.1. Estudios en el primer eslab´on . . . . . . . . . . . . . . . . . 44
3.4.2. Estudios en el segundo eslab´on . . . . . . . . . . . . . . . . 47
3.4.3. Estudios en la base . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.4. Estudio de conjunto del Robot Sidemar . . . . . . . . . . . 49
4. Integraci´on del modelo CAD con Matlab y Simulink 51
4.1. Consideraciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2. Descarga e instalaci´on SimMechanics . . . . . . . . . . . . . . . . 53
4.3. Exportaci´on del dise˜no del CAD a SimMechanics . . . . . . . . . 54
4.4. Modelo exportado resultante . . . . . . . . . . . . . . . . . . . . . 55
4.5. Pruebas del modelo del robot Sidemar en SimMchenics . . . . . . 58
5. C´alculos cinem´aticos sobre el robot Sidemar 61
5.1. M´etodo de Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . . 62
5.1.1. Matriz de Denavit-Hartenberg . . . . . . . . . . . . . . . . 63
5.1.2. C´alculo de las matrices de Denavit-Hatenberg . . . . . . . 65
5.2. Transformaci´on de D-H para el robot Sidemar . . . . . . . . . . . 65
5.2.1. Numeraci´on de los eslabones y las articulaciones del robot
Sidemar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.2. Definici´on de los ejes sobre el robot Sidemar . . . . . . . . 67
5.2.3. C´alculo de la cinem´atica directa del robot Sidemar . . . . . 68
5.2.3.1. Mediante Matlab . . . . . . . . . . . . . . . . . . . 68
5.2.3.2. Mediante la Robotics Toolbox . . . . . . . . . . . . 69
6. Resultados experimentales: ´Analisis cinem´atico 73
6.1. Pruebas cinem´aticas con la Robotics Toolbox . . . . . . . . . . . . . 73
6.2. C´alculo de la cinem´atica inversa del robot Sidemar . . . . . . . . . 77
6.3. Simulaci´on de trayectorias con el robot Sidemar . . . . . . . . . . 81
7. Resultados experimentales: Pruebas de control 83
7.1. Pruebas de integraci´on CAD en Matlab . . . . . . . . . . . . . . . 83
7.1.1. Control en cadena abierta en el simulador del robot Sidemar 84
7.1.2. Control PID de posici´on sobre el simulador del robot Side-
mar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1.3. Control PID de velocidad en el simulador del robot Sidemar 90
7.2. Hardware de control . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.2.1. Configuraci´on software del hardware de control . . . . . . 94
7.3. Pruebas de control en cadena abierta . . . . . . . . . . . . . . . . . 100
7.4. Control PID con realimentaci´on del encoder . . . . . . . . . . . . . 104
7.4.1. Pruebas de Control PID con Slider Gain . . . . . . . . . . . 104
7.4.2. Pruebas de Control PID con Generadores . . . . . . . . . . 108
7.5. Pruebas coordinadas simulador-robot . . . . . . . . . . . . . . . . 111
7.5.1. Pruebas coordinadas en cadena abierta . . . . . . . . . . . 112
7.5.2. Pruebas coordinadas con control PID . . . . . . . . . . . . 113
8. Conclusiones y Trabajos Futuros 117
8.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Referencias 125
A. C´odigo desarrollado I
A.1. Cinem´atica directa eslab´on 1 . . . . . . . . . . . . . . . . . . . . . . I
A.2. Cinem´atica directa eslab´on 2 . . . . . . . . . . . . . . . . . . . . . . I
A.3. Cinem´atica directa robot completo . . . . . . . . . . . . . . . . . . II
A.4. 5.4 Cinem´atica directa con Toolbox . . . . . . . . . . . . . . . . . . II
A.5. Giro de 90 grados en ambos eslabones . . . . . . . . . . . . . . . . III
A.6. Algoritmo cinem´atica directa con interfaz gr´afica . . . . . . . . . . III
A.7. C´alculo del espacio de trabajo . . . . . . . . . . . . . . . . . . . . . IV
A.8. Cinem´atica inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . IV
A.9. Cinem´atica inversa con giro de 90 grados en primer eslab´on . . . V
A.10.Representaci´on gr´afica del giro de 90 grados en primer eslab´on . V
A.11.Trayectorias aleatorias . . . . . . . . . . . . . . . . . . . . . . . . . V
A.12.Trayectoria circular . . . . . . . . . . . . . . . . . . . . . . . . . . . VI
´Indice de tablas
2.1. Car´acter´ısticas princioales del Tarjeta STM32F4. . . . . . . . . . . 19
5.1. Par´ametros D-H del robot Sidemar. . . . . . . . . . . . . . . . . . . 67
5.2. Matriz D-H para el eslab´on 1. . . . . . . . . . . . . . . . . . . . . . 68
5.3. Matriz D-H para el eslab´on 2. . . . . . . . . . . . . . . . . . . . . . 68
5.4. Multipicaci´on de Matrices D-H de los eslabones 1 y 2. . . . . . . . 69
5.5. Matriz Final de D-H para el robot Sidemar. . . . . . . . . . . . . . 69
5.6. Matriz D-H para Robotics Toolbox. . . . . . . . . . . . . . . . . . . . 70
5.7. Par´ametros relativos a la Cinem´atica Directa. . . . . . . . . . . . . 71
5.8. Par´ametros relativos a la gravedad. . . . . . . . . . . . . . . . . . . 71
5.9. Base del sistema (origen). . . . . . . . . . . . . . . . . . . . . . . . 72
5.10. Posici´on inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.1. ´Angulo de 90 grados en los dos eslabones. . . . . . . . . . . . . . . 74
6.2. Posici´on inicial (origen 0 grados). . . . . . . . . . . . . . . . . . . . 75
6.3. Posici´on final: 90 grados en los dos eslabones. . . . . . . . . . . . . 75
6.4. Matriz Posici´on Cero. . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.5. Matriz Posici´on Inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.6. Matriz M1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.7. Matriz Q1 para un ´angulo de 0 grados. . . . . . . . . . . . . . . . . 80
XI
6.8. Matriz Q1 para un ´angulo de 90 grados. . . . . . . . . . . . . . . . 80
6.9. Matriz final para un ´angulo de 90 grados. . . . . . . . . . . . . . . 80
´Indice de figuras
2.1. Ciclo de dise˜no del sistema. . . . . . . . . . . . . . . . . . . . . . . 12
2.2. Tarjeta de control de ejes PMAC. . . . . . . . . . . . . . . . . . . . 14
2.3. Conector Advantech PCDL 8710. . . . . . . . . . . . . . . . . . . . 15
2.4. Tarjeta Keithley con conexi´on USB. . . . . . . . . . . . . . . . . . . 16
2.5. Tarjeta Arduino Mega 2560. . . . . . . . . . . . . . . . . . . . . . . 17
2.6. Tarjeta STM32F4 Discovery. . . . . . . . . . . . . . . . . . . . . . . 18
2.7. Esquema de control implementado. . . . . . . . . . . . . . . . . . 21
2.8. Trabajo previo (Estimaci´on de posici´on con del robot sometido a
diferentes pesas). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.9. Base del robot Sidemar. . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.10. Primer Eslab´on del robot Sidemar. . . . . . . . . . . . . . . . . . . 24
2.11. Segundo Eslab´on del robot Sidemar. . . . . . . . . . . . . . . . . . 24
2.12. Robot Sidemar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.13. Logotipo de AutoDesk. . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.14. Logotipo de AutoCad. . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.15. Logotipo de Inventor. . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.16. Interface del programa Inventor. . . . . . . . . . . . . . . . . . . . 28
2.17. Logotipo del programa Matlab. . . . . . . . . . . . . . . . . . . . . 29
2.18. Entorno de trabajo de Matlab. . . . . . . . . . . . . . . . . . . . . . 30
XIII
2.19. Entorno SimMechanics. . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1. Modelado de la base en AutoCad. . . . . . . . . . . . . . . . . . . 35
3.2. Modelado de la reductora (Parte externa). . . . . . . . . . . . . . . 36
3.3. Modelado del primer eslab´on en AutoCad. . . . . . . . . . . . . . 36
3.4. Dise˜no estructural del primer eslab´on en AutoCad. . . . . . . . . 37
3.5. Modelado del Brazo 1 y su respectiva reductora HD. . . . . . . . . 37
3.6. Dimensiones y estructura del segundo eslab´on. . . . . . . . . . . . 38
3.7. Robot Sidemar y su dise˜no en AutoCad. . . . . . . . . . . . . . . . 39
3.8. Entorno para an´alisis de tensiones para el robot. . . . . . . . . . . 41
3.9. Conjunto de piezas importadas. . . . . . . . . . . . . . . . . . . . . 41
3.10. Ensamblaje del primer eslab´on a la base. . . . . . . . . . . . . . . . 42
3.11. Robot Sidemar ensamblado. . . . . . . . . . . . . . . . . . . . . . . 43
3.12. Centro de gravedad del robot Sidemar. . . . . . . . . . . . . . . . . 43
3.13. Herramientas de Inventor para an´alisis estructural. . . . . . . . . 44
3.14. Fuerza de 10 N sobre el primer eslab´on. . . . . . . . . . . . . . . . 45
3.15. Flexi´on resultante en el primer eslab´on a˜nadiendo gravedad. . . . 45
3.16. Resultado de la fuerza de 10 N m´as la acci´on de la gravedad. . . . 47
3.17. Acci´on de la gravedad sobre el segundo eslab´on. . . . . . . . . . . 47
3.18. Resultado de la acci´on de la gravedad sobre el brazo 2. . . . . . . 48
3.19. Resultado de las fuerzas en la base. . . . . . . . . . . . . . . . . . . 48
3.20. Resultado de las fuerzas aplicadas sobre el robot Sidemar. . . . . 49
4.1. Pasos para importar dise˜nos CAD en SimMechanics. . . . . . . . 52
4.2. Conexi´on exitosa entre Simulink e Inventor. . . . . . . . . . . . . . 53
4.3. Sistemas de coordenadas en Inventor. . . . . . . . . . . . . . . . . 54
4.4. Robot Sidemar en SimMechanics. . . . . . . . . . . . . . . . . . . . 55
4.5. Bloques resultantes en SimMechanics tras el proceso de exportaci´on. 56
4.6. Bloques b´asicos generados en SimMechanics. . . . . . . . . . . . . 56
4.7. Par´ametros del elemento tipo Body para los eslabones. . . . . . . . 57
4.8. Bloque Joint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.9. Bloques de sensores y actuadores. . . . . . . . . . . . . . . . . . . 58
4.10. Diagrama de bloques en SimMechanics con sliders. . . . . . . . . . 59
4.11. Prueba del modelo en SimMechanics mediante el uso de sliders. . 59
5.1. Problemas cinem´aticos en rob´otica. . . . . . . . . . . . . . . . . . . 62
5.2. Sentido de giro en los dos ejes. . . . . . . . . . . . . . . . . . . . . 66
5.3. Definici´on de ejes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.1. Interfaz gr´afica de Robotics Toolbox con el modelo del robot Sidemar. 74
6.2. Posici´on del robot Sidemar con el primer y segundo eslab´on rota-
do en 90 grados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.3. Cinem´atica directa y posibles movimientos del robot Sidemar. . . 76
6.4. Espacio de trabajo completo. . . . . . . . . . . . . . . . . . . . . . . 77
6.5. ´Area de trabajo parcial. . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.6. Trayectoria realizada por el robot Sidemar. . . . . . . . . . . . . . 82
7.1. Control en cadena abierta del robot simulado. . . . . . . . . . . . 85
7.2. Control PID en posici´on. . . . . . . . . . . . . . . . . . . . . . . . . 88
7.3. Se˜nal de referencia y posici´on obtenida por los encoders. . . . . . 89
7.4. Robot alcanzando la posici´on 90o en sus dos eslabones. . . . . . . 89
7.5. Respuestas en velocidad para referencia de 1 rad/s en ambos es-
labones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.6. Motores girando a una velocidad de 1 rad/s. . . . . . . . . . . . . 91
7.7. Piezas en el primer eslab´on y encoder absoluto instalado. . . . . . 92
7.8. Piezas en el segundo eslab´on y encoder absoluto instalado. . . . . 93
7.9. Microcontrolador STM32F4 conectado a los sensores y drivers de
potencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.10. Configuraci´on tarjeta STM32F4. Entradas y salidas. . . . . . . . . 95
7.11. Configuraci´on tarjeta STM32F4. Bloque USB. . . . . . . . . . . . . 96
7.12. Configuraci´on Encoder. . . . . . . . . . . . . . . . . . . . . . . . . 98
7.13. Bloque de conexi´on encoder. . . . . . . . . . . . . . . . . . . . . . . 99
7.14. Configuraci´on de control en cadena abierta. . . . . . . . . . . . . . 101
7.15. Slider del Motor 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
7.16. Gr´aficas de las se˜nales de los encoders. . . . . . . . . . . . . . . . . 102
7.17. Motor 1 girando en los dos sentidos. . . . . . . . . . . . . . . . . . 103
7.18. Motor 2 girando en los dos sentidos. . . . . . . . . . . . . . . . . . 104
7.19. Control PID en posici´on con referencia mediante sliders gain. . . . 105
7.20. Se˜nales sistema de control y de los encoders. . . . . . . . . . . . . 106
7.21. Diagrama de bloques con un ´unica referencia. . . . . . . . . . . . 107
7.22. Se˜nales del sistema con una ´unica referencia. . . . . . . . . . . . . 107
7.23. Diagrama de bloques con dos generadores de pulsos. . . . . . . . 108
7.24. Se˜nales del sistema con generadores de pulsos. . . . . . . . . . . . 109
7.25. Diagrama de bloques con un ´unico generador de pulsos. . . . . . 110
7.26. Se˜nales generadas con un ´unico generador de pulsos. . . . . . . . 110
7.27. Se˜nales en posici´on obtenidas con el sistema estabilizado. . . . . . 111
7.28. Diagrama de bloques de control coordinado del robot y su modelo. 112
7.29. Robot y simulaci´on controlados de forma coordinada. . . . . . . . 113
7.30. Diagram de bloques para control coordinado con PID. . . . . . . . 114
7.31. Secuencia de posiciones del control coordinado robot-simulaci´on-I. 115
7.32. Secuencia de posiciones del control coordinado robot-simulaci´on-II.115
7.33. Secuencia de posiciones del control coordinado robot-simulaci´on-
III. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Agradecimientos
Agradezco la presente tesis primeramente a la Universidad Carlos III de
Madrid por haberme dado la oportunidad de estudiar en una gran Uninversi-
dad, con reconocimiento a nivel mundial, sobre todo en los estudios de rob´otica.
Agradezco a todo los profesores que me ayudaron a fortalecer mis conocimien-
tos sobre diversos temas del mundo de la rob´otica y principalmente agradezco
a Ram´on Barber mi tutor de la tesis, por haberme ayudado en todos los ´ambitos
del conocimiento, pr´actico, te´orico y tambi´en entender mis limitaciones cuanto
a conocimientos de ingenier´ıa y del idioma. Tambi´en quiero a agradecer a Cris-
tina Castej´on por ayudarme con los documentos del robot Sidemar y con las
correcciones de la tesis. Tambi´en a Antonio Flores por la ayuda con los bloques
del Simulink y en la adquisici´on de la tarjeta y sensores del proyecto. Y por ´ulti-
mo a mis compa˜neros de master, principalmente a Carlos Ast´ua por haberme
ayudado en todo los momentos en la tesis.
XVII
Resumen
Este trabajo presenta una metodolog´ıa de dise˜no y control en tiempo real
usando hardware de bajo costo y trabajando con un robot real y su modelo si-
mulado de una manera coordinada. La metodolog´ıa se inicia en la fase de dise˜no
utilizando una herramienta de CAD y genera el modelo del robot en Matlab y
Simulink como plataformas de integraci´on, que son ampliamente utilizados en
herramientas de dise˜no y control de ingenier´ıa. Como parte del documento, se
propone la integraci´on de hardware y software para el control del robot, inclu-
yendo el uso de soluciones de bajo. El control de hardware est´a gestionado por
Simulink, con es capaz de operar tanto en la simulaci´on y el robot real. Como
prototipo rob´otico, se emplea el robot Sidemar, de 2 grados de libertad, robot
que ha sido dise˜nado como un prototipo de robot de servicio. En esta platafor-
ma se muestra un ejemplo de la metodolog´ıa propuesta, desde el dise˜no CAD
hasta la prueba final de control tanto en la simulaci´on y como en la plataforma
real.
XIX
Abstract
This work presents a design and control methodology in real time using low
cost hardware, working on a real robot as well as on a simulation, in a coordi-
nated way. The methodology starts in the design phase using a CAD tool and
generates the model of the robot in Matlab and Simulink as integration plat-
forms, which are widely used tools in design and control engineering. As part
of the document, the integration of hardware and software for the robot’s control
is proposed, including the use of low cost solutions with powerful performan-
ces. The hardware control is managed by Simulink, with is able to operate both
the simulation and the real robot. As a robotic prototype, a 2 degrees of freedom
robot arm has been used, designed as a service robot. In this platform the aut-
hors show an example of the proposed methodology, from the CAD design to
the final control test both in simulation and with the real platform.
XXI
Cap´ıtulo 1
Introducci´on
El presente Trabajo de Fin de M´aster se desarrolla dentro del Departamento
de Ingenier´ıa de Sistemas y Autom´atica de la Universidad Carlos III de Madrid
y en ´el se elabora un modelo de simulaci´on de un prototipo de robot asistencial
que funciona de manera conjunta y coordinada con el robot real.
En este cap´ıtulo se detallar´an los motivos que han llevado a la realizaci´on del
presente Trabajo Fin de M´aster, sus objetivos y las etapas de trabajo y desarrollo
seguidas en la misma. Por ´ultimo, se describir´an las partes de este documento,
comentando como se organizan los contenidos del trabajo realizado.
1.1. Motivaci´on
El desarrollo y dise˜no de robots asistenciales es una tarea compleja y que
normalmente requiere de hardware de control con coste elevado y software de
control muy complejo o que ofrece pocas posibilidades en el mundo de la inves-
tigaci´on. El conseguir implementar un sistema hardware y software de control
2 Introducci´on
de bajo precio y f´acilmente integrable con herramientas software de uso habi-
tual, facilitar´ıa el dise˜no y reducir´ıa los ciclos de desarrollo de este tipo de ro-
bots, que en la mayor´ıa de los casos son prototipos de investigaci´on.
El proceso integraci´on del dise˜no del robot con el software de control, a partir
de las propias herramientas de dise˜no, hace que el ciclo dise˜no-an´alisis-control
del robot se vea dr´asticamente reducido, permitiendo reducir a pocos pasos su
estudio. Aparte de ello, al incluir el propio esquema de control la conexi´on di-
recta del robot, permite pasar de forma inmediata y coordinada de la simulaci´on
a la actuaci´on sobre el propio robot.
Como prototipo rob´otico se ha empleado un brazo robotizado de 2 grados de
libertad, construido para el estudio del dimensionado de actuadores en el pro-
yecto SIDEMAR concedido conjuntamente al Departamento de Ingenier´ıa de
Sistemas y Autom´atica y al Departamento de Ingenier´ıa Mec´anica de la Univer-
sidad Carlos III de Madrid por el Ministerio de Educaci´on y Ciencia. El sistema
est´a dise˜nado para ser un robot de servicio, que seg´un la IFR (Federaci´on In-
ternacional de Rob´otica) es un robot que opera de forma parcial o totalmente
aut´onoma, para realizar servicios ´utiles para el bienestar de los humanos y de
equipamientos, excluyendo operaciones de manufacturas, es decir, un sistema
que no puede ser utilizado en la industria o fabricaci´on de productos.
Como idea de partida se pretend´ıa implementar un sistema de control en
tiempo real que funcione tanto en el propio robot como en su sistema simulado
mediante ayuda de un software para creaci´on del sistema CAD y la integra-
ci´on del mismo en Matlab Y Simulink, de manera que permitan completarse las
caracter´ısticas cinem´aticas y din´amicas del prototipo y poder realizar as´ı su pos-
terior an´alisis.
1.1 Motivaci´on 3
Para la conexi´on del software de control al robot se buscaba una soluci´on
de bajo coste, que conservara altas prestaciones y permitiera la conexi´on con la
herramienta de control elegida, Matlab y Simulink.
En este trabajo se buscan dos tipos diferentes de procedimientos para reali-
zar el estudio y control del robot: estudio sobre el modelo generado a partir del
dise˜no y estudio y control sobre el propio robot real, de manera que se pueda
hacer una comparaci´on del robot Sidemar trabajando tanto en tiempo real como
simulado (al an´alogo del caso de los aviones y sus respectivos simuladores para
entrenar a los pilotos). Para ello se realizar´a una implementaci´on software que
permita trabajar tanto con el robot real como con su modelo simulado, y que
adem´as permita hacerlo de manera conjunta con los dos. En el caso de trabajar
en modo simulaci´on hace que no se necesite del robot real, permitiendo que se
trabaje con el modelo extra´ıdo a partir del dise˜n´o del robot. De esta manera, el
sistema simulado contiene todos los par´ametros de creaci´on del robot real, faci-
litando las fases de an´alisis y control del sistema. El sistema de control trabaja en
tiempo real tanto sobre el modelo simulado como sobre el propio robot, lo que
facilita una posterior comparaci´on entre los resultados de ambos.
Para llegar a esta arquitectura de an´alisis y control del robot se hace necesario
utilizar varios softwares CAD y de herramientas para convertir dichos dise˜nos a
Matlab, software elegido para la implementaci´on del sistema pos su universali-
dad y disponibilidad en muchas empresas y universidades. Dentro de Matlab se
pueden encontrar herramientas como SimMechanics Link que convierten estos
dise˜nos en archivos donde Matlab puede importarlos de manera directa. Para
conseguir la conexi´on con el robot se estudiar´an las posibles soluciones hardwa-
res existentes en el mercado para unir al sistema los sensores y actuadores del
robot. En esta l´ınea, la idea ser´ıa la utilizaci´on de una tarjeta de bajo coste para
4 Introducci´on
hacer el control de se˜nales de entrada y se˜nales de salida de los motores del ro-
bot y sus encoders.
Esta adaptaci´on de la plataforma rob´otica, no solo permite abaratar, simpli-
ficar y ampliar las posibilidades del prototipo rob´otico frente a sus prestaciones
originales, sino que adem´as facilitan su extensi´on al uso de otras plataformas,
as´ı como su uso con fines docentes.
1.2. Objetivos
El objetivo principal de este Trabajo fin de Master puede definirse como:
Implementar un sistema de control de bajo coste en tiempo real que funcione tanto en
el robot real como en el modelo obtenido de un sistema CAD y la integraci´on empleando
Matlab y Simulink,
Para alcanzar este objetivo ser´an necesarias distintas fases de estudio y prue-
ba de diferentes tecnolog´ıas, para comprobar la viabilidad del mismo. Como
prueba para validar el sistema del funcionamiento del modelo coordinado con
el robot se propone cerrar el bucle de control con un regulador PID.
Para alcanzar este objetivo, ha sido necesario:
1. Realizar estudios sobre el robot Sidemar y trabajos previos como punto de
partida para conocer la estructura y funcionalidad del robot, y ver las posibili-
dades de mejora, adaptaci´on y actualizaci´on del sistema su sistema de control.
2. Hacer estudios previos sobre los softwares CAD/CAM que mejor se ade-
cuan al sistema como: Inventor, Sketchup, SolidWorks, SolidEdge, y estudiar su
portabilidad entre ellos y su posibilidad de integraci´on con Matlab y Simulink.
1.2 Objetivos 5
3. Realizar el modelado CAD del sistema rob´otico estudiado.
4. Estudiar de las posibilidades de integraci´on de herramientas de an´alisis y
control en Matlab-Simulink, estudiando c´omo se puede utilizar las herramientas
de Matlab para el estudio del robot y utilizando distintos tipos de controladores
elaborados en Simulink.
5. Estudiar la cinem´atica del robot obtenido a partir del dise˜no.
6. Realizar estudios sobre las posibilidades de hardware que faciliten el con-
trol del robot, considerando entre microcontroladores y tarjetas de bajo coste.
7. Estudiar la integraci´on del funcionamiento del sistema real y el simulado.
8. Realizar pruebas coordinadas de control del sistema real y el simulado.
Existen diversos trabajos de rob´otica relacionados con la idea que se preten-
de implementar en esta propuesta, utilizando herramientas CAD para desarro-
llo y SimMechanics para control del robot. En la mayor´ıa de los casos son siste-
mas que trabajan o solo con el simulador o solo con la plataforma rob´otica. En
(Haughey, 2011) se crea un simulador de un brazo rob´otico de dos grados de li-
bertad en cadena abierta con un espacio de trabajo simple de dimensionar sobre
el que se permiten ejecutar diversas tareas. Fue creado en SimMechanics para
estudios din´amicos del sistema (en este caso la simulaci´on es apenas cinem´atica,
no tiene el dise˜no estructural del robot) y permite optimizar el sistema en cuan-
to a sus dimensiones mec´anicas, hacer c´alculos de trayectorias y hacer tareas
preestablecidas. En la linea anterior, en los trabajos (Shah, 2011) y (Bajrami, Sha-
la, Likaj, y Dermaku, 2013), los dise˜nos son s´olamente din´amicos y la estructura
6 Introducci´on
de los robots reales no est´an representadas. Su objetivo es hacer mejoras cuanto a
reducci´on del sistema y ayudar a su optimizaci´on. El trabajo se basa en crear un
simulador para hacer an´alisis cinem´aticos y din´amicos de un robot de seis gra-
dos de libertad con estructura cinem´atica paralela (espacio de trabajo cerrado y
muy dif´ıcil de trabajar). En (Cruz, 2012) tambi´en se puede ver un robot paralelo,
pero en este caso el sistema se dise˜n´o en SimMechanics con el fin hacer an´alisis
de vibraci´on estructural e implementar t´ecnicas de control estructural para que
no existan problemas de imprecisiones en cuanto a posicionamiento del extre-
mo final del robot. Tambi´en se puede encontrar estudios similares con otro tipo
de robots. En (Tlale y Zhang, 2005a) encontramos un humanoide en el que se
calcula el ZMP (Zero Moment Point) para el estudio de la caminata de un robot.
Crearon un simulador rob´otico de la estructura del robot en SimMechanics para
hacer an´alisis cinem´aticos y din´amicos y optimizar as´ı los algoritmos de control
de la caminata del robot Archie de 30 grados de libertad. En esta misma l´ınea
tambi´en se puede encontrar un robot con 27 grados de libertad (Teodoro, 2007)
para el que fue creado un simulador rob´otico con la estructura real del mismo,
de manera an´aloga al anteriormente comentado. En este caso se realizan an´alisis
din´amicos, incorpora mecanismos de registro de datos de percepci´on y permite
actuar sobre el sistema mediante teleoperaci´on. Como elemento diferenciador,
emplea sistemas de control cognitivos.
Considerando trabajos previos donde se parte del dise˜no CAD como base de
la simulaci´on, en (Gebrehiwot, 2009/2010) se puede encontrar una aproxima-
ci´on donde, con el objetivo de hacer estudios de los controladores de un robot
humanoide, se dise˜na en sistema en una herramienta CAD y luego se la pasa
al programa SimMechanics de Matlab. Se hacen pruebas con el robot simulado
y en una fase posterior se aplican los resultados al robot real. En (Caglav, 2006)
se puede ver un sistema distinto de los anteriores, donde se emplea un robot
1.2 Objetivos 7
serpiente. En este caso, al contrario de los anteriores, en vez de utilizar el Sim-
Mechanics como soporte para el dise˜no de los controladores, se modela el robot
mediante funciones de transferencia en Simulink para el c´alculo de los controla-
dores, que una vez ajustados, son aplicados sobre el modelo en SimMechanics.
Para ello crean un modelo simplificado del robot sin masas en su estructura (es
una an´alisis totalmente cinem´atico y que no tiene en cuenta la estructura real del
robot).
En (Dung, Kang, y Ro, 2010) se realiza una implementaci´on de un sistema
compensador de gravedad tipo PD sobre un robot manipulador con ayuda del
software SimMechanics. En este trabajo se prueba que este software es muy ´util
para modelado de sistemas complejos. En (Yu, Zhang, Zhang, y Yang, 2010) se
hace una prueba con SimMechanics para simular la cinem´atica de un robot de
tres grados de libertad con estructura cinem´atica paralela. Se calcula la cinem´ati-
ca directa e inversa utilizando la herramienta SimMechanics y posteriormen-
te Simulink. En este caso se emple´o un modelo simplificado del robot real. En
(Fatehi, Vali, Eghtesad, y Fatehi, 2011) aparece un caso que tiene la misma ca-
dena cinem´atica que en (Tlale y Zhang, 2005b), pero los c´alculos fueron hechos
´unicamente en base a las din´amicas del robot y tambi´en emplea un modelo sim-
plificado del robot para realizar simulaciones b´asicas. En (Yang, Ye, Peter, y Han,
2010) se encuentra es un trabajo que aborda la investigaci´on sobre la din´amica
de otro robot de seis grados de libertad con cadena cinem´atica paralela en el que
se emplean los m´etodos de Kane y un controlador PID ayud´andose de Simulink.
Los trabajos anteriores demuestran la capacidad que el programa Simulink
con SimMechanics tiene en cuanto a los c´alculos de cinem´aticas, din´amicas y
planificaci´on de trayectorias, as´ı como para el estudio de diversos tipos de con-
trol de sistemas rob´oticos. Todos ellos apuntan a que la idea planteada de crear
8 Introducci´on
un sistema hardware-software que pueda funcionar al mismo tiempo tanto so-
bre el robot rel como sobre su modelo en un simulador, bien conjuntamente o
por separado, con ayuda de Simulink y SimMechanics sea viable.
1.3. Partes del documento
El presente Trabajo Fin de M´aster est´a organizado en los siguientes cap´ıtulos:
En el primer cap´ıtulo se ha presentado la motivaci´on y objetivos que llevan
a realizar este Trabajo Fin de M´aster.
En el cap´ıtulo segundo se describe la arquitectura completa del sistema
propuesto. Se explica el ciclo de trabajo desde la fase del dise˜no CAD
hasta su integraci´on en la fase de control. Se comentan las posibilidades
hardwaare para su control, concluyendo con la arquitectura escogida para
cumplir con los objetivos propuestos. Tambi´en se describe la plataforma
hardware rob´otica y las herramientas software utilizadas para las imple-
mentaciones.
En el cap´ıtulo tercero se muestra el proceso de modelado el robot. En este
caso se utilizaron los softwares AutoCad e Inventor para crear el modelo
del robot a partir del sistema real .El cap´ıtulo se completa con unos prime-
ros estudios sobre el comportamiento cinem´atico y est´atico del robot.
El cap´ıtulo cuarto describe el proceso de exportaci´on del dise˜no hecho
en Inventor hac´ıa SimMechanics, herramienta para control de sistemas
mec´anicos simulados de Matlab. Posteriormente se explica c´omo se ampl´ıa
dicho esquema de Simulink para completar el esquema de control que
act´ue tanto sobre el robot real como sobre su modelo en SimmMechanics.
1.3 Partes del documento 9
En el cap´ıtulo quinto se explica como encontrar la cinem´atica directa e
inversa del robot Sidemar y se compara con las realizadas utilizando a
Robotics ToolBox de Matlab.
El cap´ıtulo sexto recogen los resultados experimentales realizados sobre
el an´alisis cinem´atico del robot,tanto de la cinem´atica directa como inver-
sa, estableciendo el espacio de trabajo del robot y calculando trayectorias
dentro del mismo.
El cap´ıtulo s´eptimo recogen los resultados experimentales realizados con
el sistema real y el sistema simulado con ayuda de SimMechanics. Se se
presentan pruebas de control del robot en cadena abierta y cerrando la
cadena en posici´on, funcionando en conjunto y/o por separado.
Por ´ultimo, en el cap´ıtulo octavo, se exponen las conclusiones obtenidas a
partir del trabajo y los trabajos futuros que se pueden realizar utilizando
la arquitectura propuesta tanto en el an´alisis de la plataforma de estudio,
como de otras plataformas y otro tipo de controladores.
10 Introducci´on
Cap´ıtulo 2
Descripci´on del sistema propuesto
Para los desarrollos de este trabajo se contempla una arquitectura que, par-
tiendo del dise˜no original del robot se pueda llevar su estructura inicial de forma
r´apida y sencilla a su modelo en Simulink, listo para analizar e integrar los con-
troladores.
2.1. Ciclo de dise˜no
En la Figura 2.1 se muestra las fases de dise˜no del sistema propuesto. En
primer lugar se parte de los planos CAD del robot, destinados a su fabricaci´on.
Dichos planos contienen toda la informaci´on sobre la geometr´ıa del robot y sus
dimensiones, as´ı como la informaci´on necesaria para el ensamblado.
Dependiendo de la herramienta elegida, en nuestro caso, AutoCad, el mode-
lo se puede completar con el uso de otras herramientas de dise˜no tambi´en CAD
m´as completas destinadas a su an´alisis cinem´atico y din´amico. En este caso se
ha utilizado Inventor por tener compatibilidad completa con AutoCad y ser am-
bos de la empresa AutoDesk. Con Inventor se pueden completar datos sobre el
12 Descripci´on del sistema propuesto
dise˜no del robot que afectan a su comportamiento din´amico como masas y otras
propiedades.
El siguiente paso es generar un modelo que facilite el intercambio con Si-
mulink. Inventor contempla la exportaci´on a ficheros con formatos .XML, que
es un est´andar reconocido por muchas aplicaciones y herramientas software de
dise˜no. Este formato permite ser importado por SimMechanics y Simulink, con
lo que con unas pocas operaciones se consigue tener el modelo del robot en Si-
mulink.
Figura 2.1: Ciclo de dise˜no del sistema.
2.2 Elecci´on del hardware de control 13
En Simulink se completa el modelo con elementos de mando y visualiza-
dores, as´ı como los par´ametros que se consideren necesarios para el an´alisis y
control del robot. Tras hacer las primeras pruebas y obtener los primeros resul-
tados, se puede volver a la etapa inicial de dise˜no si se considera necesario, hasta
conseguir el dise˜no final del robot Figura 2.1.
2.2. Elecci´on del hardware de control
Tras tener el modelo del robot en Simulink y SimMechanics y probar su fun-
cionamiento, el siguiente paso es encontrar una tarjeta o dispositivo hardware
que nos permita controlar el robot desde Simulink. Este hardware tiene como
funci´on b´asica recibir datos de sensores tipo encoder y enviar comandos a los
motores. Como se ha comentado en el primer cap´ıtulo, el objetivo ´ultimo de es-
te trabajo es conseguir hacer un control coordinado del robot y del modelo en
Simulink, con lo que tiene que tener la posibilidad de ser manejado por este.
Adem´as, debe ser del menor coste posible, para facilitar la construcci´on y el es-
tudio de este tipo de robots.
2.2.1. PMAC de Delta TAU
Como se ha comentado tambi´en en este trabajo, antes de llegar a una solu-
ci´on sobre el hardware de control que mejor se adec´ua con el robot Sidemar,
hubo que hacer un estudio sobre el hardware con el que se realiz´o el control del
robot anteriormente.
El control original del robot se realizaba mediante una tarjeta de control de
ejes PMAC, Figura 2.2 del fabricante Delta Tau, una tarjeta ampliamente utiliza-
da en la industria para controlar robots con hasta ocho ejes. Tambi´en se permit´ıa
14 Descripci´on del sistema propuesto
recibir se˜nales de diversos tipos de sensores.
Figura 2.2: Tarjeta de control de ejes PMAC.
Esta tarjeta presentaba varios inconvenientes:
La placa se conectaba en el bus PCI interno del computador, lo que reduc´ıa
las posibilidades de trabajo a un ´unico computador.
Su cable de conexi´on para enviar y recibir datos era un cable que solamente
se pod´ıa conectar con ordenadores mediante el protocolo de comunicaci´on
RS-322, y que no utilizaba la conexi´on tipo DB 9 (la m´as com´un), sino que
utilizaba la conexi´on tipo DB 25, una conexi´on que hoy en d´ıa casi no se
utiliza, y defiere de las tarjetas actuales que usan una conexi´on tipo DB 9 y
pueden ser convertidas por un convertidor DB 9 - USB.
Software de control complejo, teni´endose que realizar aplicaciones espec´ıfi-
cas para implementar su control, dificultando la integraci´on de algoritmos
de control. Para programar los algoritmos deb´ıa utilizarse las funciones y
librer´ıas del fabricante, no estando disponibles en c´odigo abierto.
2.2 Elecci´on del hardware de control 15
Las posibilidades de su manejo desde Matlab son muy complicadas y no
se podr´ıan utilizar todas las posibilidades de control que la tarjeta dispone,
ya que Matlab no es capaz de manejarlas.
Por ´ultimo y m´as importante, su precio elevado frente a otras soluciones
actuales que ofrece el mercado.
2.2.2. PCLAB de Advantech
Tambi´en se pens´o en utilizar la tarjeta adquisici´on de datos o DAQ con en-
tradas y salidas tanto anal´ogicas como digitales, en concreto la PCLab 1711H
con bornero PCDL 8710 Figura 2.3.
Figura 2.3: Conector Advantech PCDL 8710.
Entre los inconvenientes de dicha tarjeta de control nos encontramos:
Como en el caso anterior, se encuentra conectada en el bus PCI interno del
computador, lo que reduce las posibilidades de trabajo a un ´unico compu-
tador.
16 Descripci´on del sistema propuesto
La tarjeta debe ser manejada en modo externo en Simulink, limitando las
posibilidades de SimMechanics que no ofrece todas sus funcionalidades
trabajando en este modo.
2.2.3. Tarjeta de adquisici´on de datos USB: Keithley kusb 3100
Esta tarjeta, Figura 2.4, al conectarse a trav´es del puerto USB, permit´ıa el uso
de diferentes computadores, lo que disminu´ıa la dependencia de un ´unico or-
denador como ocurr´ıa en los casos anteriores. Adem´as se mostraba como una
soluci´on intermedia en precio entre la soluci´on original de control y la elegida.
Figura 2.4: Tarjeta Keithley con conexi´on USB.
El principal inconveniente fue que Matlab y Simulink dejaron de prestar so-
porte a esta tarjeta a partir de las versiones 2013a, con lo que las posibilidades
de integraci´on en Simulink se vieron reducidas dr´asticamente.
2.2 Elecci´on del hardware de control 17
2.2.4. Soluci´on basada en microcontroladores de bajo coste
Dado el aumento en la potencia de c´alculo que est´an experimentando los mi-
crocontroladores, y las posibilidades de manejo de entradas y salidas que em-
piezan a incorporar, la soluci´on basada en microcontroladores se mostraba como
una opci´on viable.
Entre este tipo de microcontroladores se estudiaron dos soluciones: el micro-
controlador Arduino y el STM32F4.
Dentro de la familia de microcontroladores Arduino, en la fecha de realiza-
ci´on de este trabajo, el que ofrec´ıa m´as posibilidades era el Arduino Mega 2560,
Figura 2.5 que permit´ıa su integraci´on con Matlab.
Figura 2.5: Tarjeta Arduino Mega 2560.
Esta soluci´on presentaba los siguientes inconvenientes:
18 Descripci´on del sistema propuesto
Rango de frecuencias de trabajo y periodos de muestreo muy limitados.
La integraci´on de las se˜nales provenientes de los encoders empleados re-
querir´ıa de una placa adicional.
Como una segunda posibilidad se pens´o en el uso del microcontrolador
STM32F4 de la empresa ST Microelectronics, Figura 2.6, que es un microcontro-
lador muy utilizado en las industrias y universidades e inclusive, actualmente
algunos pa´ıses est´an utilizando la tarjeta para investigaciones en industrias con
fines militares.
Figura 2.6: Tarjeta STM32F4 Discovery.
cuyas caracter´ısticas t´ecnicas m´as importantes se resumen en el tabla 2.1
2.2 Elecci´on del hardware de control 19
Tarjeta STM32F4 Discovery
Voltaje de trabajo 0,2 V hasta 3,6 V
Memoria Flash 1 MB
Protocolos Aceptados I2C, I2S, CAN, SPI
Procesador ARM Cortex - M4 180 MHz
Voltaje 1,2 con regulador para POR/PDR/PVD
Cristal Oscilador 32 kHz + 4 hasta 26 MHz
Oscilador Interno Rc 0,18
Control de Clock Si
RTC/AWU Si
Watchdogs 2 independientes
CRC 1 control de ciclo de redundancia
Acelerometro 1 ART (LIS302DL)
Canales PWM 2 x 16 bit
Timers 5 x 16 bit, 2 x 32, 3 x 16 bit
Interface para camera 1
USART 4 USART + 4 UART LIN
Interface Serial de Audio 1 x SAI
SDIO 1
USB 2.0 OTG FS 1
USB 2.0 OTG FS/HS 1
CAN 2.0B 1
Ethernet MAC 10/100 con IEEE 1588
SPI 6
Oscilador Interno Rc 2
Oscilador Interno Rc 3
Canales Anal´ogicos 2 canales (2x 12 bit) DAC / DAC usado (CS43L22)
Canales Anal´ogicos 24 canales (3x 12 bit) ADC, 2 MSPS
Sensor Temperatura 1
Canales DMA 16
Canales de I/O 80
Reproduce audio Si
Enviar y Recibir datos USB (sin necesidad de programador para esto)
Microfono Integrado Si, MP45DT02
Tabla 2.1: Car´acter´ısticas princioales del Tarjeta STM32F4.
20 Descripci´on del sistema propuesto
Esta soluci´on fue la finalmente utilizada fundamentalmente por solucionar
las carencias encontradas en los Arduinos:
Rango de frecuencias de trabajo y tiempos de muestreo mayores. (Dar va-
lores)
Posibilidades en cuanto a puertos para la conexi´on de sensores mucho ma-
yores, facilit´andose el conexionado directo de los encoders de los motores.
Si bien sus posibilidades de conexionado con Matlab eran muy reducidas, el
trabajo realizado por Antonio Flores en cuanto a la integraci´on de este tipo de
microcontrolador con Simulink (F., 2014), abri´o un gran campo de posibilidades
en cuanto a su utilizaci´on en este trabajo, facilitando la consecuci´on de los objeti-
vos de control del robot, integrado en Simulink con SimMechanics y a bajo coste.
Esta soluci´on nos permite controlar diversos motores y recibir se˜nales de los
sensores sin ning´un problema, adem´as de que puede comunicar con un pc o
port´atiles con diversos tipos de protocolo de comunicaci´on, como RS-232, USB,
Ethernet y otros. Tiene diversos tipos de pines para el control de dispositivos de
entradas y salidas anal´ogicas y digitales, ofreciendo grandes posibilidades para
este trabajo.
Esta tarjeta puede ser controlada por cualquier tipo de sistema (ordenador,
port´atiles, tabletas y m´oviles), y puede utilizar cualquier sistema operativo. Para
los desarrollos de la presente se ha probado en la versi´on m´as reciente de Micro-
soft, Windows 8. La tarjeta es de de f´acil programaci´on y, aunque en un principio
fue desarrollada para solamente utilizar su software de programaci´on (librer´ıas
propias), esta tarjeta es de c´odigo abierto al igual que Arduino.
2.3 Arquitectura de control propuesta 21
2.3. Arquitectura de control propuesta
Una vez se dispone del modelo del robot en SimMechanics y Simulink, el
siguiente paso es buscar la arquitectura hardware que nos facilite el control del
robot. La arquitectura de control que se propone, tras diversos estudios que se
comentar´an posteriormente, consiste en una soluci´on basada en microcontrola-
dor, que proporciona una forma de control de bajo coste, y que se integra con
un software de dise˜no propio (Castejon, Carbone, Prada, y Ceccarelli, 2011) que
permite la integraci´on con Matlab y Simulink. En la Figura 2.7 se muestra la
soluci´on, en la que un computador comercial se une por USB a un microcontro-
lador que gestiona tanto la lectura de los sensores del robot como su actuaci´on a
trav´es de un driver de potencia.
Figura 2.7: Esquema de control implementado.
2.4. Plataforma hardware: Robot Sidemar
El Robot Sidemar (Castejon y cols., 2011) fue creado y dise˜nado como un pro-
totipo general que cumpla ciertos requisitos b´asicos que le permitieran su uso
como robot se servicios. Su peso debe ser ligero pero a su vez debe ser capaz de
resistir todas las fuerzas a las que se vea sometido el robot a lo largo su trabajo.
La plataforma experimental se dise˜n´o (Castejon y cols., 2011) para hacer estu-
dios sobre la cinem´atica, tanto la cinem´atica directa como la inversa, as´ı mismo
un buen estudio sobre la din´amica.
22 Descripci´on del sistema propuesto
Entre los trabajos previos (de Tena, 2011) encontramos que dicho peso se mo-
del´o mediante el uso de diferentes pesas Figura 2.8.
Figura 2.8: Trabajo previo (Estimaci´on de posici´on con del robot sometido a diferentes pesas).
Siguiendo con la idea descrita anteriormente, el material utilizado para ha-
cer el proyecto mec´anico fue una aleaci´on de aluminio debido a que su peso es
muy reducido si lo comparamos con otras estructuras que se encuentran en el
mercado y al mismo tiempo una rigidez que facilita el ensamblaje mec´anico del
robot, ya que el aluminio es una estructura met´alica dulce de f´acil manejo y ope-
raci´on mediante cortes (Peces, 2006).
Para explicar la estructura del robot, se explicar´an sus diferentes partes y su
uni´on para constituir el robot.
1) Base: La base del robot, Figura 2.9, es la parte empleada para sostener el
peso del mismo y es la encargada de mantenerlo inm´ovil en una posici´on fija
inicial. La base del robot puede ser dividida en dos, una que posee un peso con-
siderablemente mayor en comparaci´on con todo el conjunto del robot destinada
a soportar las fuerzas que act´uan sobre ´el, principalmente la de gravedad, y otra
parte que poseen un mecanismo de sujeci´on a una estructura o cuerpo inm´ovil.
2.4 Plataforma hardware: Robot Sidemar 23
Figura 2.9: Base del robot Sidemar.
La base contempla una estructura de sujeci´on del robot que permite fijar la
parte del robot a cualquier estructura o superficie plana, teniendo en cuenta las
restricciones de giro para el primer eslab´on que no podr´a girar totalmente (360
grados), dificultando as´ı las pruebas de control en el robot. La base aloja un con-
junto motor-reductor en el que se acopla el primer eslab´on o eslab´on inferior del
robot.
2) Eslab´on Inferior: Es un eslab´on formado por 4 tubos de aluminio unido
por placas circulares de aluminio en sus extremos. Su extremo inferior va total-
mente acoplada al motor DC de la base y en su extremo superior se encuentra el
conjunto motor-reductor que hace de enlace con el segundo eslab´on.
Como se puede percibir en la Figura 2.10, el brazo est´a hecho de una aleaci´on de
aluminio, pero en una estructura tubular en vez de una maciza que proporciona
una reducci´on de peso pero conservando un rigidez estrutural adecuada.
24 Descripci´on del sistema propuesto
Figura 2.10: Primer Eslab´on del robot Sidemar.
3) Eslab´on superior: Al igual que el anterior, este eslab´on (Figura 2.11)tambi´en
est´a hecho de una estructura de aleaci´on de aluminio y fue construido con es-
tructura tubular para reducir el peso del robot. El eslab´on se encuentra acoplado
a la reductora situada en el extremo superior del primer eslab´on y su final queda
libre. Sobre ´el se centrar´an la mayor´ıa de los estudios, ya que marcar´a el alcance
total del robot y definir´a su ´area de trabajo.
Figura 2.11: Segundo Eslab´on del robot Sidemar.
Despu´es del ensamblado de los tres componentes (base, eslab´on inferior y
eslab´on superior) se obtiene un sistema articulado de dos grados de libertad,
2.5 Sistemas software involucrados 25
con dos eslabones y dos articulaciones de rotaci´on. En la Figura 2.12 se muestra
el ensamblado final del robot.
Figura 2.12: Robot Sidemar.
2.5. Sistemas software involucrados
Para el desarrollo del trabajo a sido necesario trabajar con varias platafor-
mas software, interconect´andolas entre s´ı para conseguir la integraci´on final en
Matlab y Simulink. A continuaci´on se describen estas herramientas.
2.5.1. AutoCad
El AutoCad es un software gr´afico de CAD (Computer-Aided Design) o en
castellano, Dise˜no Asistido por Computador, que aparte de ser un software pa-
ra el dise˜no por ordenador, es una forma de modelar sistemas o cualquier tipo
de objeto. Con ´el se puede investigar y probar ideas diferentes para implemen-
tar un sistema. El AutoCad Figura 2.13 fue desarrollado por la empresa Auto-
Desk que mantiene los derechos de no solamente este software, sino de diversos
otros que se encuentran con el logotipo de esta compa˜n´ıa. Este software est´a en
constante evoluci´on, existiendo actualizaciones anuales. Cada nueva versi´on va
26 Descripci´on del sistema propuesto
desarrollando nuevas herramientas gr´aficas o comandos nuevos para facilitar
a los ingenieros y proyectistas la elaboraci´on de nuevas funcionalidades en sus
proyectos (de Castro, 2013).
Figura 2.13: Logotipo de AutoDesk.
Hoy en d´ıa es el software m´as aceptado por los ingenieros y proyectistas
de todo el mundo, y es esne˜nado en muchas universidades. Al igual que otros
programas de Dise˜no Asistido por Ordenador (DAO), AutoCad Figura 2.14 ges-
tiona una base de datos de entidades geom´etricas (puntos, l´ıneas, arcos, etc) con
la que se puede operar a trav´es de una pantalla gr´afica en la que se muestran
´estas, el llamado editor de dibujo (Morales, 2013). La interacci´on del usuario se
realiza a trav´es de comandos, de edici´on o dibujo.
AutoCad puede usarse para hacer proyectos tanto en 2D como en 3D aun-
que su uso principal es en 2D para proyectos de construcci´on civil. Su formato
de salida es un archivo .dwg, que es un tipo de archivo propio del sistema, aun-
que para facilitar su intercambio con otras aplicaciones, la empresa AutoDesk
cre´o un sistema de archivos en .dxf para que quien no sea usuario de Auto-
Cad pueda utilizar sus dibujos en cualquier plataforma de dise˜no asistido por
computador (Morales, 2013).
2.5 Sistemas software involucrados 27
Figura 2.14: Logotipo de AutoCad.
Para el presente proyecto el software AutoCad ha ayudado en la confecci´on y
ensamblaje del mismo. El software permite dise˜nar sistemas id´enticos a la reali-
dad, con dimensiones, colores, con resistencias f´ısicas (mec´anicas) de los mate-
riales, lo que fue de gran ayuda para el dise˜no y comprensi´on del robot Sidemar.
2.5.2. Inventor
Para este proyecto, el software AutoCad ayud´o en la confecci´on y ensam-
blaje final del robot. En una segunda etapa, para conseguir un modelo real del
robot, se complet´o el modelo del robot con la herramienta Inventor Fusion Pro-
fessional Figura 2.15 de la compa˜n´ıa AutoDesk, que permit´ıa realizar ya unas
primeras simulaciones sobre la cinem´atica y est´atica del robot.
Figura 2.15: Logotipo de Inventor.
Mientras AutoCad fue cocebido para ayudar en la estructuraci´on de casas,
28 Descripci´on del sistema propuesto
terrenos, pisos, edificios y todo lo referente al mundo de la construcci´on civil,
Inventor Fusion se cre´o con la idea de trabajar con sistemas mec´anicos b´asicos o
complejos en general: desde dibujar un tornillo o una tarea sencilla hasta siste-
mas muchos m´as complejos como un motor entero, incluyendo todas sus partes.
Tambi´en tiene la posibilidad de trabajar con sistemas que utilizan fluidos para
la transmisi´on de movimientos. Una ventaja de Inventor es que tambi´en permi-
te hacer c´alculos de resistencias, fricciones, simular la cinem´atica y por ´ultimo
tambi´en la cinem´atica (Morales, 2013). En la Figura 2.16 se puede ver la interface
del Inventor.
Figura 2.16: Interface del programa Inventor.
La interface gr´afica del Invetor es muy similar a la del AutoCad, cambiando
solo algunas herramientas ya que trabaja con otro tipo de sistemas m´as amplios.
Pero sobre la base de la pir´amide de este programa se encuentra un software
totalmente id´entico al de AutoCad. Si una persona sabe dibujar con AutoCad
seguramente no tendr´a problemas en hacer un dise˜no en Inventor. Eso s´ı, el
software cambia su estructura cuando se empiezan a detallar m´as los dise˜nos de
las piezas, siendo entonces necesario estudiar sus herramientas m´as avanzadas.
En el pr´oximo cap´ıtulo, se explicar´an las herramientas que se han utilizado para
dibujar el Robot Sidemar y luego se detallar´an cada una de las partes de dicho
sistema.
2.5 Sistemas software involucrados 29
2.5.3. Matlab
Matlab basa su nombre en su concepci´on original, MATrix LABoratory, o en
castellano Laboratorio de Matrices. Fue dise˜nado para c´alculos num´ericos con
vectores y matrices. Permite ser utilizado para trabajar con n´umeros escalares
(reales o complejos), con cadenas de caracteres y con otras estructuras de in-
formaciones m´as complejas (de Jalon, Rodriguez, y Vidal, 2005). Con Matlab,
Figura 2.17, se pueden realizar diversos tipos de c´alculos matem´aticos y f´ısicos,
pero su gran ventaja consiste en la posibilidad de trabajar con las denominadas
Toolbox, que son cajas de herramientas que sirven para alg´un tipo espec´ıfico de
c´alculo en diversas ramas de la ingenier´ıa y de las ciencias en general.
Figura 2.17: Logotipo del programa Matlab.
Dentro del Matlab se encuentran multitud de herramientas (Toolbox) que
son utilizados en muchos ´ambitos, por ejemplo: sistemas qu´ımicos (c´alculos
f´ısico-qu´ımicos u org´anicos), biol´ogicos (c´alculos de colonias de c´elulas), siste-
mas para dimensionamiento de motores, aviones o VANTS (Veh´ıculos A´ereos
no Tripulados), l´ogicas de control como PID, Fuzzy, algoritmos gen´eticos o he-
rramientas para modelar sistemas completos (como las que van a ser utilizadas
en este trabajo) (Houcque, 2005).
Una de las facultades m´as atractiva de Matlab es la posibilidad de realizar
30 Descripci´on del sistema propuesto
gr´aficos en dos y tres dimensiones. Matlab, aparte de su lenguaje propio, permi-
te utilizar los lenguajes de programaci´on como C/C++ o Fortran. Hace muchos
a˜nos que en Matlab se ha incorporado un acelerador JIT (Just in Time), que me-
jora la velocidad de ejecuci´on de los ficheros sus ficheros con extensi´on *.m. La
Figura 2.18 muestra el entorno de trabajo de Matlab.
Figura 2.18: Entorno de trabajo de Matlab.
2.5.4. SimMechanics
SimMechanics es un programa incluido en Simulink que ayuda a la creaci´on
de sistemas mec´anicos tridimensionales sin tener que hacer c´alculos o ecuacio-
nes espec´ıficas para su creaci´on (Houcque, 2005). En la Figura 2.19 se puede ver
un ejemplo del entorno SimMechanics.
En SimMechanics se pueden encontrar muchas herramientas para diversas
2.5 Sistemas software involucrados 31
tareas y trabajos que permiten la simulaci´on de sistemas con m´ultiples cuerpos,
articulaciones, y restricciones. SimMechanics ayuda a la construcci´on y estudio
de modelos 3D y sus din´amicas.
Una de sus ventajas, empleadas en este trabajo, es que se puede importar
cualquier tipo de sistema o dise˜no elaborado en plataformas CAD/CAM ex-
ternas. En este caso se ha utilizado para la importaci´on del robot realizada en
Inventor.
Figura 2.19: Entorno SimMechanics.
32 Descripci´on del sistema propuesto
Cap´ıtulo 3
Modelado CAD del robot Sidemar
En este cap´ıtulo se describir´an los pasos seguidos para el modelado CAD del
robot Sidemar, explicando el dise˜no de cada parte del robot, sus dimensiones y
sus c´alculos cinem´aticos b´asicos. Se realizar´a una descripci´on detallada de tal
manera que permita su aplicaci´on a otros tipos de estructuras rob´oticas.
3.1. Modelado del robot Sidemar con AutoCad 2013
Para modelar un robot hay diversos tipos de software que permiten reali-
zar esta tarea y que facilitan el dise˜no y modelado de sistemas fijos o m´oviles,
como Sketchup, Solidworks y SolidEdge, aparte de los utilizados en este traba-
jo. Para realizar el dise˜no y modelado del robot se van a emplear dos entornos
diferentes: primero el AutoCad y posteriormente Inventor, que pertenecen a la
misma plataforma de programaci´on (AutoDesk). Estos paquetes software fue-
ron escogidos principalmente por la facilidad de importar dise˜nos entre ambos
y, adem´as, por tener en com´un muchas de sus herramientas de trabajo. De los
paquetes estudiados, solo Solidworks e Inventor pueden exportar sus dise˜nos
a la herramienta SimMechanics de Matlab, que es uno de los objetivos de este
34 Modelado CAD del robot Sidemar
trabajo. Para la parte de creaci´on, dimensionado y ensamblaje del Robot Side-
mar se emple´o el AutoCad, emple´andose el Inventor para el estudio de an´alisis
cinem´aticos y est´aticos.
El robot Sidemar representa un robot de servicio, siendo una posible utilidad
el ayudar a personas discapacitadas acercandoles objetos. El robot Sidemar tiene
dos grados de libertad, constituidos por dos aritculaciones ortogonales. Ambos
grados son rotativos de configuraci´on tal que el primer eslab´on gira alrededor
de un eje horizontal, y el segundo eslab´on gira alrededor de un eje vertical. Su
arquitectura constructiva es modular, permitiendo la ampliaci´on del robot, Su
construcci´on tubular proporciona un peso estructural por debajo de robots si-
milares que se encuentra hoy en d´ıa con estructura r´ıgida (Castejon, Carbone,
Prada, y Ceccarelli, 2010).
A continuaci´on se detalla el modelado de la estructura del robot Sidemar y
su ensamblado, y posteriormente se explicar´an los trabajos de parametrizaci´on
del robot y los primeros estudios realizados sobre Inventor.
3.1.1. Base del sistema o bancada
El eslab´on tierra o base del robot corresponde a la base que sirve de sus-
tentaci´on del robot. Este eslab´on, por algunas reglas que se detallar´an cuando
se comente su modelado cinem´atico, es el eslab´on numero 0 o base y no tie-
ne movimiento. Este eslab´on ser´a tomado como sistema de referencia para las
coordenadas del robot, que siempre ser´a referenciando desde la base hasta el
extremo del robot. En los sucesivos c´alculos de denominar´a como punto P0 y
tendr´a como coordenadas [0, 0, 0].
El robot presenta una estructura diferente en su base con respecto a muchos
3.1 Modelado del robot Sidemar con AutoCad 2013 35
robots que se encuentran en el mercado. La base del robot est´a asentada en una
estructura donde el eje del primer eslab´on se ensambla perpendicular al mismo,
siendo su giro en un plano vertical. La base permite su sujeci´on a una estructura
o superficie plana mediante elementos auxiliares. En la Figura 3.1 se muestra el
dise˜no realizado para la base.
Figura 3.1: Modelado de la base en AutoCad.
En el dise˜no se ha situado un cilindro que representa el motor y que atra-
viesa la base, en cuyo extremo se ensamblar´a la reductora a la que se acopla
el primer eje. Para modelar la reductora, que es del tipo Harmonic Drive, se ha
realizado solamente un dise˜no estructural externo, representado en la Figura 3.2.
36 Modelado CAD del robot Sidemar
Figura 3.2: Modelado de la reductora (Parte externa).
3.1.2. Primer eslab´on (Brazo 1)
Este elemento se acoplar´a al eje de la base rotando en el plano vertical, y
sobre su extremo superior se acoplar´a el conjunto motor-reductor del segundo
brazo. La estructura de este brazo est´a hecha con cuatro barras cil´ındricas de tal
forma que permita la reducci´on de peso que conllevar´ıa el hacerla totalmente
maciza. En la Figura 3.3 se muestra el resultado final del dise˜no de la pieza en
AutoCad.
Figura 3.3: Modelado del primer eslab´on en AutoCad.
3.1 Modelado del robot Sidemar con AutoCad 2013 37
Figura 3.4: Dise˜no estructural del primer eslab´on en AutoCad.
El brazo se ensambla a la reductora de la base mediante una superficie plana
circular que sit´ua al eslab´on de forma perpendicular a la base. La estructura de
este eslab´on se cierra con otra superficie plana circular a las barras a la que se
acopla otra reductora, dise˜nada de manera an´aloga a la anterior. El dise˜no final
queda como se muestra en la Figura 3.5.
Figura 3.5: Modelado del Brazo 1 y su respectiva reductora HD.
38 Modelado CAD del robot Sidemar
3.1.3. Segundo eslab´on (Brazo 2)
Este eslab´on rota perpendicularmente sobre el primer eslab´on. Este eslab´on
va ensamblado, por tanto formando un ´angulo de 90 grados con respecto al eje
del primer eslab´on y est´a dise˜nado de la mismo forma que el anterior, aunque
con diferentes dimensiones. En la Figura 3.6 se puede ver el resultado final del
dise˜no de este brazo.
Figura 3.6: Dimensiones y estructura del segundo eslab´on.
En la Figura 3.7 se puede ver el dise˜no final del robot con sus respectivos
eslabones, motores y sensores tipo encoder. El dise˜no fue realizado de la forma
m´as exacta posible, tal y como se aprecia en la Figura 3.7, empleando las mismas
dimensiones y materiales en su dise˜no.
3.2 Modelado del Robot Sidemar con Inventor 2013 39
Figura 3.7: Robot Sidemar y su dise˜no en AutoCad.
3.2. Modelado del Robot Sidemar con Inventor 2013
La segunda fase del modelado consisti´o en importar el modelo en Inven-
tor. Inventor permite incluir los par´ametros est´aticos y din´amicos del robot y
realizar simulaciones sobre ´el mismo. Si bien permite el dise˜no de sus partes
directamente sin la necesidad del dise˜no previo con AutoCad, se han separado
ambas partes considerando que los planos del robot pueden haberse realizado
en AutoCad para su fabricaci´on. Inventor permite ajustar par´ametros de dise˜no,
guard´andolos conjuntamente con el propio dise˜no, y permite hacer simulacio-
nes que ayuden al ajuste de dichos par´ametros (STMicroelectronics, 2013).
En este apartado se va a completar el dise˜no de la estructura del robot consi-
derando esfuerzos, sea el de peso, compresi´on, presi´on o efectos de la gravedad.
Ser´an descritos todos los pesos de cada parte del sistema, y que tipo de pro-
blemas pueden ocasionar estos pesos en los eslabones o en la base. Tambi´en se
hallar´an c´alculos de fuerzas, pares y momentos y se probar´an mediante simula-
ciones.
40 Modelado CAD del robot Sidemar
Con Inventor se podr´a estudiar realizar estudios iniciales de dise˜no y an´ali-
sis de esfuerzos para el estudio y detecci´on de posibles puntos cr´ıticos. Como
´ultima justificaci´on del uso de Inventor, cabe destacar que est´a totalmente adhe-
rido a la idea de exportaci´on de sus dise˜nos a Matlab, lo que no se puede hacer
con AutoCad.
3.3. Ensamblado del robot Sidemar en Inventor
Es de suma importancia conocer como se realiza el ensamblado con ayuda
del software Inventor para que en el cap´ıtulo pr´oximo se puedan entender los
procedimientos de la utilizaci´on los modelos de Inventor en SimMechanics de
Matlab. A continuaci´on se describen los criterios adoptados para que el pro-
cedimiento de ensamblaje del robot para facilitar su uso en Matlab mediante
SimMechanics.
Para realizar el modelo del robot completo, el proceso parte del dise˜no de
cada una de sus partes para posteriormente a˜nadir las restricciones entre ellas
de cara a su ensamblaje final. En la Figura 3.8 se ve como se van a˜nadiendo cada
una de las partes del robot.
3.3 Ensamblado del robot Sidemar en Inventor 41
Figura 3.8: Entorno para an´alisis de tensiones para el robot.
A continuaci´on se introducen las restricciones de movimiento de cada uno
de los giros. Para conseguir hacer el ensamblaje de los elementos del robot Side-
mar se tiene que crear una pantalla de desarrollo de ensamblajes para insertar
los diferentes elementos que componen el robot. En la Figura 3.9 se pueden ver
las tres piezas importadas en la misma pantalla de trabajo con la cual ser´a en-
samblado el robot.
Figura 3.9: Conjunto de piezas importadas.
42 Modelado CAD del robot Sidemar
Por ´ultimo, se completan las restricciones de movimiento, es decir, que es-
tructuras ser´an fijas y cuales ser´an m´oviles. Por ejemplo. En el caso de la uni´on
entre la base y el primer eslab´on, Figura 3.10, hay que seleccionar el eje del pri-
mer eslab´on como la estructura que va a sufrir rotaciones y el eje de la base como
la estructura est´atica o fija. Por ´ultimo, hay que definir el tipo de movimiento que
se desea dar a la uni´on, en este caso, se utiliz´o una estructura de uni´on del tipo
circular.
Figura 3.10: Ensamblaje del primer eslab´on a la base.
Procediendo de manera an´aloga con el segundo eslab´on, se completa el en-
samblado final del robot. En la Figura 3.11 se muestra el robot completo ensam-
blado.
3.4 Estudios del robot Sidemar en Inventor 43
Figura 3.11: Robot Sidemar ensamblado.
En la Figura 3.12 se puede ver cual es el centro de gravedad del robot real,
completando el sistema de ensamblaje.
Figura 3.12: Centro de gravedad del robot Sidemar.
3.4. Estudios del robot Sidemar en Inventor
Para la verificaci´on del correcto dise˜no del robot y comprobar la implemen-
taci´on realizada en Inventor, se realizan las pruebas de esfuerzo descritas en el
trabajo previo (de Tena, 2011).
44 Modelado CAD del robot Sidemar
Para iniciar un an´alisis de sistemas por esfuerzos en general se va a utilizar
la herramienta de ”An´alisis de tensi´on” incluida en el men´u ”Entornos”, Figu-
ra 3.13. Estas herramientas permiten realizar an´alisis de tensiones, deformacio-
nes y c´alculo de par (Leal, 2014). Los par´ametros introducidos son los del robot
real, pero se podr´ıan introducir otros par´ametros para realizar simulaciones con
otras caracter´ısticas diferentes.
Figura 3.13: Herramientas de Inventor para an´alisis estructural.
3.4.1. Estudios en el primer eslab´on
El brazo 1 se encuentra sometido a la fuerza ejercida por el brazo 2, que se
ha considerado para una primera simulaci´on como de 10N (de Tena, 2011). Por
lo tanto el brazo 2 (superior) ejerce un par de torsi´on sobre el brazo 2 (inferior)
que se puede calcular, teniendo en cuenta la distancia al extremo final del brazo:
M=10 N x 200 mm=2000Nm
En la Figura 3.14 se muestra el efecto de la fuerza, que pr´acticamente no
deforma dicho eslabl´on.
3.4 Estudios del robot Sidemar en Inventor 45
Figura 3.14: Fuerza de 10 N sobre el primer eslab´on.
A continuaci´on se a˜nade la gravedad de (9,8 m/s) al brazo 1, manteniendo
el par anteriormente aplicado. En este caso las deformaciones son mayores, tal
y como se muestran en la Figura 3.15
Figura 3.15: Flexi´on resultante en el primer eslab´on a˜nadiendo gravedad.
En la imagen anterior, Figura 3.15 puede verse, en color rojo, cuales son los
puntos sobre los que aparece la m´axima tensi´on en el eslab´on, que son los pun-
tos susceptibles de ser reforzados si fuera necesario. En amarillo se muestran
puntos de tensiones intermedias, que requieren menos atenci´on. Como se pue-
de ver, la base de este eslab´on es la parte donde las tensiones son mayores. En
la figura aparece superpuesta es la Curva de Von Mises, que es un criterio muy
utilizado en teor´ıa de estructuras para el dimensionamiento de las mismas, de
tal forma que cumpla los requisitos b´asicos de flexi´on y tensi´on (V., 2012). Los
46 Modelado CAD del robot Sidemar
c´alculos de las tensiones principales que aparecen sobre el robot pueden reali-
zarse con las siguientes expresiones, que son aplicadas por Inventor:
σV M =
√
(σ1−σ2)2+(σ2−σ3)2+(σ3−σ1)2
2
Como criterio de fallo el´astico se emplea la f´ormula:
E = 1
6G × [(σ1−σ2)2+(σ2−σ3)2+(σ3−σ1)2
2 ]
La tensi´on de Von Mises se calcula a partir de tensiones principales del ten-
sor tensiones en un punto de un s´olido en deformaci´on, siendo σ1, σ2, σ3 las ten-
siones principales y el criterio de fallo el´astico se obtiene a partir de la energ´ıa
de distorsi´on en funci´on de las tensiones principales como se ve en la segunda
expresi´on. Estos valores tienen que tenerse en cuenta a la hora de dise˜nar la es-
tructura (Armando, 2009).
En la Figura 3.16 se puede ver el primer eslab´on tras un giro de 90 grados
sometido al mismo esfuerzo de 10 N producido por el segundo m´as la gravedad
de 9,8 m/s2. La imagen presenta puntos de tensi´on m´axima en la base de la es-
tructura, al principio y final de los tubos (en color verde). El an´alisis estructural
sirve para hacer un estudio inicial del dise˜no del robot: por una parte se asegura
que la estructura se soporta y por otro lado se pede situar el robot en posiciones
cr´ıticas para ver si el dise˜no es el adecuado. En las gr´aficas de tensi´on y defor-
maci´on interesa ver los valores m´aximos de deformaci´on y tensi´on provocados.
Si la tensi´on se acerca a la tensi´on de rotura, pueden aparecer problemas.
3.4 Estudios del robot Sidemar en Inventor 47
Figura 3.16: Resultado de la fuerza de 10 N m´as la acci´on de la gravedad.
3.4.2. Estudios en el segundo eslab´on
El segundo eslab´on, al contrario que el primero, se ve sometido solamente
a la acci´on de la gravedad, ya que no se han realizado pruebas de carga, por lo
que presenta menos problemas. En la Figura 3.17 se muestran los resultados del
an´alisis.
Figura 3.17: Acci´on de la gravedad sobre el segundo eslab´on.
En la Figura 3.18 se puede mirar los principales puntos de m´axima tensi´on
de este eslab´on debido a la gravedad, siendo la posici´on m´as cr´ıtica para este es-
lab´on la posici´on inicial (en la vertical), haciendo un ´angulo recto con el primer
eslab´on, tal y como se puede ver en la gr´afica de aplicaci´on del criterio de Von
Mises.
48 Modelado CAD del robot Sidemar
Figura 3.18: Resultado de la acci´on de la gravedad sobre el brazo 2.
3.4.3. Estudios en la base
La base del robot es la que va a soportar toda la carga de los dos eslabones.
Ello har´a que el primer motor deba propocionar un par un m´as alto que el se-
gundo motor. El primer motor soporta el peso del segundo eslab´on y el del suyo
propio.
Aplicando una carga de 18 N, se puede calcular la acci´on ejercida por los dos
eslabones (de Tena, 2011). En la Figura 3.19 se muestran los resultados, donde se
observa que las tensiones que la base tiene que soportar son casi nulas. Una base
como esta, no tendr´a muchos problemas para soportar toda la carga a la que se
vea sometida.
Figura 3.19: Resultado de las fuerzas en la base.
3.4 Estudios del robot Sidemar en Inventor 49
3.4.4. Estudio de conjunto del Robot Sidemar
Una vez analizada cada parte del robot por separado, se procede a analizar
el sistema completo, sometido a todas las fuerzas consideradas anteriormente.
En la Figura 3.20, el efecto de las fuerzas utilizadas y la acci´on de la gravedad
no ofrecen tensiones m´aximas suscepeptibles de ser consideradas, apareciendo
el criterio de Von Misses constante a lo largo del brazo, lo que comprueba el co-
rrecto dimensionado del robot.
En segundo lugar, como se puede apreciar en la barra de intensidades de
presi´on (barra en colores del lateral izquierda), no aparecen puntos cr´ıticos sig-
nificativos.
Figura 3.20: Resultado de las fuerzas aplicadas sobre el robot Sidemar.
50 Modelado CAD del robot Sidemar
Cap´ıtulo 4
Integraci´on del modelo CAD con
Matlab y Simulink
En este cap´ıtulo se describen los pasos necesarios para la integraci´on final
del modelo CAD del robot en Matlab y Simulink con SimMechanics y se expli-
ca c´omo se ampl´ıa dicho esquema de Simulink para completar el esquema de
control que act´ue tanto sobre el robot real como sobre su modelo en SimmMe-
chanics.
4.1. Consideraciones iniciales
Dentro de SimMechanics existe una herramienta para importar el dise˜no
desde otras plataformas CAD. Esta herramienta permitir´a hacer la importaci´on
del robot Sidemar con todos los par´ametros cinem´aticos y din´amicos existentes
en el dise˜no CAD del Inventor.
Para trabajar en el entorno SimMechanics es necesario una traducci´on de los
52 Integraci´on del modelo CAD con Matlab y Simulink
dise˜nos CAD/CAM al entorno Simulink. En la Figura 4.1 se representa el pro-
ceso completo de la importaci´on.
Primero: se pasa el dise˜no del CAD a un formato XML para que pueda ser
le´ıdo por SimMechanics (ya que esta es el ´unico formato de intercambio
v´alido) mediante diagrama de bloques.
Segundo: generar un archivo con formato MDL que ser´a el que se pueda
leer y manipular en Simuink (V., 2012).
Figura 4.1: Pasos para importar dise˜nos CAD en SimMechanics.
Como se ve en la figura anterior hay un bloque que se llama Traductor CAD-
XML. Dentro de Simulink, se hace la traducci´on del modelo CAD al lenguaje
XML, generando un fichero de texto que contiene la informaci´on del modelo
bajo etiquetas y par´ametros. Matlab traduce los par´ametros y caracter´ısticas del
modelo CAD en bloques de SimMechanics.
4.2 Descarga e instalaci´on SimMechanics 53
4.2. Descarga e instalaci´on SimMechanics
Un problema importante es que los software Inventor y Matlab no tienen una
librer´ıa espec´ıfica para que el dise˜no pueda ser importado, pero s´ı proporcio-
na soporte para realizar la importaci´on. En primer lugar, fue necesario trabajar
con las dos versiones m´as recientes de ambos software, utiliz´andose la versi´on
R2013a de Matlab y la versi´on de AutoDesk Inventor Fusion 2013.
En un segundo lugar se necesita descargar la versi´on compatible del traduc-
tor de formatos de la p´agina web de Matlab (Matlab, s.f.), donde se puede en-
contrar el paquete a descargar de acuerdo con las versiones que se va a utilizar
para Matlab e Inventor. Los tres software tienen que estar en consonancia.
El software descargado se puede instalar con la ayuda del instalador de pa-
quetes de Matlab y establecer el enlace con Inventor a trav´es del comando sm-
link linkinv. Por ´ultimo debe comprobarse desde Inventor que la conexi´on con
Matlab ha sido realizada correctamente.
En la Figura 4.2 se observa una conexi´on exitosa.
Figura 4.2: Conexi´on exitosa entre Simulink e Inventor.
54 Integraci´on del modelo CAD con Matlab y Simulink
4.3. Exportaci´on del dise˜no del CAD a SimMechanics
Los pasos necesarios para exportar el dise˜no CAD realizado en Inventor son:
1) Asegurar la correcta posici´on inicial del robot y que sus restricciones de
movimiento son correctas. El robot tiene que estar ubicado en la posici´on inicial
(0, 0, 0) porque cuando SimMechanics importe el sistema se importar´a con la
misma configuraci´on inicial (extremo del eslab´on 2 en la posici´on (301, 265, 0) y
el extremo del primer eslab´on en la posici´on vertical (0, 265, 0). Como se puede
ver en la Figura 4.3, aparecen dos tipos de coordenadas, una es la coordenada
inicial del programa Inventor, que sirve solamente para referenciar el origen del
dise˜no, y el segundo sistema de coordenadas, que constituye los ejes de coorde-
nadas de movimiento del robot, al que se referencian las posiciones del mismo.
Este sistema de coordenadas Figura 4.3 se hizo de acuerdo a los estudios de
Denavit-Hartenberg, que se detallar´an en el pr´oximo cap´ıtulo.
Figura 4.3: Sistemas de coordenadas en Inventor.
2) Una vez realizado el proceso anterior, se procede a salvar el trabajo en el
formato standard STL.
3) A continuaci´on se procede a exportar el dise˜no de Inventor a formato
4.4 Modelo exportado resultante 55
XML, quedando listo para ser importado desde Matlab.
4) El siguiente paso es abrir Matlab y teclear en la l´ınea de comandos la
sentencia mech import con la direcci´on donde se encuentran los archivos (STL
y XML). Creando el modelo en Simulink.
5) Por ´ultimo, se debe comprobar que la importaci´on ha sido realizada co-
rrectamente, tal y como se muestra en la Figura 4.2.
Figura 4.4: Robot Sidemar en SimMechanics.
4.4. Modelo exportado resultante
Despu´es de hacer todos los pasos anteriores, se procede a explicar los resul-
tados del modelo exportado. Para poder llevar a cabo una simulaci´on se hace
necesario completar algunos detalles con respecto a la cinem´atica y din´amica
del robot.
En la Figura 4.5 se muestran los dos bloques exportados de SimMechanics:
first generation, con los par´ametros geom´etricos del robot, y second generation, que
incluye los par´ametros din´amicos del robot.
56 Integraci´on del modelo CAD con Matlab y Simulink
Figura 4.5: Bloques resultantes en SimMechanics tras el proceso de exportaci´on.
Para implementar el modelo del robot, se trabaja con la segunda generaci´on,
para tener un modelo que incluya cinem´atica, din´amica, sensores y actuadores.
Dentro de la carpeta segunda generaci´on, aparecen los 7 bloques mostrados en la
Figura 4.6. Estos bloques son:
Figura 4.6: Bloques b´asicos generados en SimMechanics.
Primero: Body (Cuerpos). En esta biblioteca se encuentra elementos que se
utilizan para modelar cualquier sistema mec´anico (Ramos, 2008). El primero de
estos elementos, los Body (Cuerpos), permiten modelar cuerpos con caracter´ısti-
cas definidas como masa, centro de gravedad, momentos de inercia, posici´on,
orientaci´on y coordenadas propias. Otro bloque que aparece son los Ground (Tie-
rra). Este bloque representa un punto fijo en la tierra que servir´a como la base de
referencia para ensamblar los elementos del sistema, sean m´oviles o no. Y por
4.4 Modelo exportado resultante 57
´ultimo se va a hablar de la otra herramienta que es el Machine Environment, don-
de se conecta el bloque Ground. Aqu´ı es donde se configuran las propiedades
del entorno donde trabajar´a el sistema mec´anico.
Caso de que no se hayan importado todos los par´ametros, ser´a necesario edi-
tar los bloques y completar su propiedades, as´ı, en la Figura 4.7 se a˜nade la masa
a un elemento tipo Body.
Figura 4.7: Par´ametros del elemento tipo Body para los eslabones.
Segundo: la Biblioteca de Joints (Ejes). Contiene los bloques que representan
los movimientos relativos entre los cuerpos que son conocidos tambi´en como
los grados de libertad. Como se percibe en la Figura 4.8, se encuentran diversos
tipos de articulaciones. En el caso del Robot Sidemar, se ir´a a destacar solamente
las juntas rotativas (porque no tiene juntas prism´aticas) o en este caso Revolute.
Esta es una junta que une dos elementos en uno solo, es decir, une dos elementos
en un ´unico punto de contacto, ocasionando as´ı un grado de libertad. El robot
tiene dos juntas de este tipo.
58 Integraci´on del modelo CAD con Matlab y Simulink
Figura 4.8: Bloque Joint.
Tercero: Librer´ıa Sensors and Actuators (Sensores y Actuadores). Esta biblio-
teca contiene los bloques que miden los giros producidos en los ejes del robot
(Encoders) e inicializan los movimientos de los cuerpos y las articulaciones (Ac-
tuators). Sobre estos bloques actuar´an las se˜nales que har´an funcionar el robot.
Entre estos bloques se encuentran: Body Actuator, Joint Actuator, Body Sensor, Joint
Sensor y Joint Initial Condition, mostrados en la Figura 4.9.
Figura 4.9: Bloques de sensores y actuadores.
4.5. Pruebas del modelo del robot Sidemar en SimMche-
nics
Tras el desarrollo de los pasos anteriores se prepararon unas primeras prue-
bas para verificar el funcionamiento del modelo importado. La primera de ellas
4.5 Pruebas del modelo del robot Sidemar en SimMchenics 59
consist´ıa en dar ´ordenes de movimiento al robot en cadena abierta, para compro-
bar la coherencia de la estructura importada y que todos los bloques funcionan
de manera adecuada. Para ello fue necesario a˜nadir los bloques que generan las
se˜nales sobre los actuadores, en este caso, una constante. En la Figura 4.10 se
muestran los bloques a˜nadidos: sliders o potenci´ometros.
Figura 4.10: Diagrama de bloques en SimMechanics con sliders.
Para el correcto funcionamiento, el bloque joint necesita referencias en veloci-
dad y aceleraci´on, con lo que hay que introducir las correspondientes derivadas.
En la Figura 4.11 se muestra el efecto de realizar diferentes secuencias de movi-
mientos con este primer control b´asico.
Figura 4.11: Prueba del modelo en SimMechanics mediante el uso de sliders.
60 Integraci´on del modelo CAD con Matlab y Simulink
Cap´ıtulo 5
C´alculos cinem´aticos sobre el
robot Sidemar
Se denomina an´alisis cinem´atico de un robot manipulador al estudio de las
configuraciones geom´etricas que puede adoptar un robot como consecuencia de
su movimiento. Excluye a las fuerzas que act´uan sobre ´el como consecuencia de
´este movimiento, que son estudiadas en un posterior an´alisis din´amico con ayu-
da de la Jacobiana. En (Barrientos y Balaguer, 2007) pg. 125 se cita:
”interesa por la descripci´on anal´ıtica del movimiento espacial del robot como una
funci´on del tiempo, y en particular de las relaciones entre la posici´on y la orientaci´on del
extremo final del robot con los valores que toman sus coordenadas articulares”
Los estudios cinem´aticos est´an divididos en dos, el primero es el estudio ci-
nem´atico directo que es un estudio sobre el cual se debe encontrar la posici´on
y orientaci´on del extremo final del robot mediante ayuda de un sistema de re-
ferencia inicial. Para esta etapa es importante definir los movimientos de las
articulaciones y conocer los par´ametros geom´etricos que componen el robot. El
62 C´alculos cinem´aticos sobre el robot Sidemar
segundo estudio es el estudio cinem´atico inverso que consiste en encontrar, co-
nocida la posici´on del extremo final del robot, cuales son los ´angulos que deben
girar sus articulaciones. En la Figura 5.1 (Barrientos y Balaguer, 2007) se ilustra
los problemas cinem´atico en en rob´otica.
Figura 5.1: Problemas cinem´aticos en rob´otica.
En el presente trabajo se van a hacer todos estos c´alculos mediante la ayu-
da del software Matlab-Simulink y mediante una de sus herramientas llama-
da Robotics Toolbox creada por Peter Corke para simular entornos cinem´aticos
y din´amicos. Esta herramienta se basa en la tabla de Denavit-Hartenberg, que
se detallar´a m´as adelante. Esta tabla fue totalmente automatizada para facilitar
los c´alculos de las cinem´aticas, permitiendo tambi´en simular las din´amicas de
cualquier robot a trav´es de la Jacobiana, as´ı como realizar diferentes pruebas de
simulaci´on (Corke, 2013).
5.1. M´etodo de Denavit-Hartenberg
Para calcular y resolver los problemas cinem´aticos hay diversas aproxima-
ciones y m´etodos num´ericos que permiten encontrar la soluci´on del problema
cinem´atico. En este apartado se comentar´a el m´etodo de Denavit y Hartenberg
(Corke, 2013). Este m´etodo consiste en representar la geometr´ıa espacial de los
5.1 M´etodo de Denavit-Hartenberg 63
elementos de una cadena cinem´atica de un robot cualquiera mediante la utiliza-
ci´on de matrices de transformaci´on homog´eneas b´asicas, logrando describir la
relaci´on espacial entre estos elementos.
Este m´etodo es el m´as conocido hoy en d´ıa y es muy utilizado por ingenie-
ros y estudiantes de muchas universidades. Facilita el estudio de la cinem´atica
y existen diversos software para su implementaci´on. Este m´etodo busca la sim-
plificaci´on de los c´alculos separando la cadena cinem´atica del robot completo en
una serie de transformaciones b´asicas relativas a cada uno de sus eslabones por
separado y que solo dependen de la geometr´ıa del elemento en cuesti´on.
5.1.1. Matriz de Denavit-Hartenberg
La matriz homog´enea que lleva el nombre de sus autores Jacques Denavit
y Richard S. Hartenberg, reduce el problema cinem´atico a encontrar una cade-
na de matrices de transformaci´on de 4x4 (siempre son cuatro los par´ametros
espec´ıficos de D-H). El n´umero de matrices puede variar dependiendo de la
complejidad que tenga un robot, obviamente un robot de seis grados de libertad
tendr´a m´as matrices que un robot de dos grados libertad. Al final, proporciona
la relaci´on entre la localizaci´on espacial del extremo final con respecto a la refe-
rencia (normalmente es la base del robot). Las cuatro matrices de transformaci´on
que aparecer´an sobre el robot Sidemar ser´an dos matrices de transformaci´on ho-
mog´enea de translaci´on y dos matrices de transformaciones de rotaci´on, (ejes de
coordenadas X e Z) (Lab, 2013):
Primero: Matriz de translaci´on a lo largo de Z y a una distancia D: Tzd;
Segundo: Matriz de rotaci´on alrededor de Z y un ´angulo theta: Rzθ;
Matriz de translaci´on a lo largo del eje X y un valor de a: Txa;
64 C´alculos cinem´aticos sobre el robot Sidemar
Matriz de rotaci´on alrededor de X y un ´angulo alpha: Rzα.
Por lo tanto, se puede escribir el resultado de aplicar las matrices anteriores
de la siguiente forma:
D − H = Tzd × Rzθ × Txa × Rzα
Desarrollando las matrices, se puede establecer:
D − H =








1 0 0 0
0 1 0 0
0 0 1 di
0 0 0 1








×








Cθi −Sθi 0 0
Sθi Cθi 0 0
0 0 1 0
0 0 0 1








×








1 0 0 ai
0 1 0 0
0 0 1 0
0 0 0 1








×








1 0 0 0
0 Cαi −Sαi 0
0 Sαi Cαi 0
0 0 0 1








Donde C y S son las funciones seno y coseno. Operando las matrices se ob-
tiene como matriz resultado:
D − H =








Cθi −SθiCαi SθiCαi aCθi
Sθi CθiCαi CθiSαi aSθi
0 Sαi Cαi d
0 Sαi Cαi 1








Con la matriz anterior se puede comprobar que solo cuatro par´ametros son
suficientes para el c´alculo de la cinem´atica mediante este algoritmo y para cual-
quier robot en cuesti´on con independencia de su complejidad. Otra caracter´ısti-
ca importante es que estos par´ametros dependen ´unicamente de la geometr´ıa de
los eslabones y del tipo de articulaciones que unen el antecesor con su sucesor.
5.2 Transformaci´on de D-H para el robot Sidemar 65
5.1.2. C´alculo de las matrices de Denavit-Hatenberg
Para el c´alculo de las matrices de Denavit-Hatenberg (D-H) es necesario te-
ner en cuenta los cuatro par´ametros (a, d, θ y α) necesarios para el c´alculo de sus
par´ametros. En primer lugar se encuentra un primer grupo(a, d) que define las
relaciones de tama˜nos y posteriormente la forma de cada eslab´on y en segundo
lugar se encuentra el segundo grupo (θ y α) que son los ´angulos entre los es-
labones. Los par´ametros espec´ıficos para definir la transformada de D-H de un
robot gen´erico son los siguientes:
1) a: Es la distancia que existe entre los ejes Zi−1 y Z a lo largo de Xi. Con
este par´ametro se computa la longitud del eslab´on en cuesti´on.
2) α: Es el ´angulo existente entre el eje Zi−1 y Zi sobre el plano perpendicular
a Xi
3) d: Es la distancia a lo largo del eje Zi−1 desde el origen del sistema Zi−1
hasta la intersecci´on del eje Zi. Este par´ametro se denomina longitud articular
debido a que expresa la distancia entre los dos eslabones que se encuentran mar-
cados por el tama˜no y forma de la articulaci´on.
4) θ: ´Angulos que forman los ejes Xi−1 y Xi sobre el plano perpendicular a
Zi−1. Se denomina ´angulo articular ya que expresa el ´angulo que forman dos
eslabones y depende del tipo de articulaci´on.
5.2. Transformaci´on de D-H para el robot Sidemar
Antes de proceder con el estudio del robot en Matlab con la ayuda de la Ro-
botics ToolBox es necesario tener medidos todos los par´ametros que intervienen.
66 C´alculos cinem´aticos sobre el robot Sidemar
Se pueden encontrar diversas metodolog´ıas para determinar los par´ametros de
D-H de un robot. Aqu´ı se va a describir la que se consider´o la m´as sencilla de
todas. A continuaci´on se definen los pasos dados para calcular los par´ametros.
5.2.1. Numeraci´on de los eslabones y las articulaciones del robot Si-
demar
Siguiendo el proceso de dise˜no del robot comentado anteriormente, se nu-
meran todos los eslabones del robot partiendo de la base del sistema (que se
considera como eslab´on) y que se define como el eslab´on n´umero cero. A con-
tinuaci´on se asigna el n´umero uno para el primer eslab´on, y el dos al segundo
eslab´on. El extremo del robot no cuenta en esta numeraci´on. A continuaci´on hay
que fijar los ejes que componen el robot al igual que se hizo con los eslabones.
De esta forma se asigna el n´umero uno al primer grado de libertad del sistema
y el n´umero dos al segundo grado de libertad.
Para construir los par´ametros que caracterizan el robot, la q significa que es-
te es un eje articulado rotativo y una d es un eje articulado prism´atico. En la
Figura 5.2 se ve que el robot es de articulaci´on rotativa, no existiendo ninguna
prism´atica.
Figura 5.2: Sentido de giro en los dos ejes.
5.2 Transformaci´on de D-H para el robot Sidemar 67
5.2.2. Definici´on de los ejes sobre el robot Sidemar
A continuaci´on hay que situar en las articulaciones los ejes de cada eslab´on.
Primero, se sit´uan todos los ejes Z seg´un el sentido de giro y el resto de ejes se
rigen por la regla de la mano derecha. (Figura 5.3). Posteriormente se determina
las distancias que hay entre un eslab´on y otro. (301 mm y 265 mm respectiva-
mente).
Figura 5.3: Definici´on de ejes.
Finalmente con todos estos datos detallados, se pueden llenar los campos
necesarios para hacer la tabla de D-H del robot. En la Tabla 5.1 se encuentra con
todas las especificaciones anteriores (calculadas y explicadas).
Par´ametros Denavit Hartenberg
Articulaci´on d (mm) θ 0 a (mm) α 0
1 0 θ1 0 pi/2
2 d2 θ2 a2 0
Tabla 5.1: Par´ametros D-H del robot Sidemar.
68 C´alculos cinem´aticos sobre el robot Sidemar
5.2.3. C´alculo de la cinem´atica directa del robot Sidemar
5.2.3.1. Mediante Matlab
Una forma de calcular la cinem´atica de un robot ser´ıa mediante el uso directo
de comandos de Matlab, sin la utilizaci´on de la Robotics Toolbox de Peter Corke.
Con ello se podr´ıa comprobar los valores de dise˜no del robot y visualizarlos, y
comprobarlos con los obtenidos utilizando exclusivamente comandos de Matlab
sin incluir los de la Toolbox. Los algoritmos implementados en Matlab se mues-
tran en los anexos A.1 y A.2.
La salida de estos algoritmos implementados proporciona la matriz de D-H
del primer eslab´on (Tabla 5.2.) y del segundo eslab´on (Tabla 5.3). La Tabla 5.4 y
Tabla 5.5 muestran el producto de ambos eslabones para encontrar la cinem´atica
directa del robot.
Matriz Eslab´on 1
Cos θ1 0 Sin θ1 0
Sin θ1 0 -Cos θ1 0
0 1 0 0
0 0 0 1
Tabla 5.2: Matriz D-H para el eslab´on 1.
Matriz Eslab´on 2
Cos θ2 -Sin θ2 0 a2 Cos θ2
Sin θ2 Cos θ2 0 a2 Sin θ2
0 0 1 L2
0 0 0 1
Tabla 5.3: Matriz D-H para el eslab´on 2.
Sustituyendo los par´ametros por sus valores (c´odigo del anexo A.3.) , se ob-
tiene como resultado de los algoritmos, la matriz final mostrada en la tabla 5.5.
5.2 Transformaci´on de D-H para el robot Sidemar 69
D-H eslabones 1 y 2.
Cos θ1 Cos θ2 -Cos θ1 Sin θ2 Sin θ1 a2 Cos θ1 Cos θ2
Cos θ2 Sin θ1 -Sin θ1 Sin θ2 -Cos θ1 a2 Cos θ2 Sin θ1 - L2 Cos θ1
Sin θ2 Cos θ2 0 a2 Sin θ2
0 0 0 1
Tabla 5.4: Multipicaci´on de Matrices D-H de los eslabones 1 y 2.
Respuesta Final Matriz C (Sustituyendo Valores)
1 0 0 301
0 0 −1 −265
0 1 0 0
0 0 0 1
Tabla 5.5: Matriz Final de D-H para el robot Sidemar.
5.2.3.2. Mediante la Robotics Toolbox
Los softwares vistos hasta ahora, Inventor y SimMechanics permiten realizar
simulaciones pero no contemplan herramientas ni elementos de c´alculo para es-
tudiar la cinem´atica y din´amica a partir del modelo. La herramienta Toolbox
Robotics es un software de c´alculo y simulaci´on que permite llevar a cabo los
c´alculos necesarios para obtener par´ametros de D-H y calcular jacobianas, con
lo que permite realizar el an´alisis cinem´aticos y din´amicos.
La Robotics Toolbox es una uni´on de todas las funciones b´asicas para estudiar
un robot realizado bajo el software Matlab. Fue creado por Peter Corke en el a˜no
de 1995 en su tesis doctoral, con el fin de unificar los estudios de robots.
Desde 1995 hasta hoy la herramienta ha ido creciendo y expandi´endose, y
ahora se pueden encontrar adem´as de estudios rob´otica industrial, herramien-
tas aplicables sobre robots asistenciales, estudios de visi´on para robots, planifi-
caci´on de trayectorias y navegaci´on de robots.
70 C´alculos cinem´aticos sobre el robot Sidemar
Esta Toolbox tiene muchas funciones que pueden ser utilizadas para los es-
tudios de las cinem´atica y din´amica de robots manipuladores y brazos robotiza-
dos, como el caso del robot Sidemar. Van a permitir encontrar el jacobiano del
brazo y generar trayectorias a seguir por el robot. Todas las funcionalidades de
esta Toolbox se encuentran en el manual que puede encontrarse en el enlace de
Peter Corke en la red (Corke, 2013).
Para realizar los estudios de la cinem´atica directa desde la Robotics Toolbox,
hay que crear previamente el entorno en el que se va a trabajar y el robot me-
diante ayuda de la tabla anterior de par´ametros de D-H en un formato seg´un
indica el manual de la Toolbox. Dicho formato se muestra en la Tabla 5.6.
D-H para Robotics Toolbox
Articulaci´on θ 0 d (mm) a (mm) α 0 α Offset
1 q1 0 0 pi/2 0 0
2 q2 265 301 0 0 0
Tabla 5.6: Matriz D-H para Robotics Toolbox.
Los par´ametros Sigma y Offset aparecen como nuevos. El primero sirve para
decir si la articulaci´on con la cual que va a trabajar es prism´atica o rotativa, es
decir, definida por cero o uno, el cero significa que es un eje rotativo por defecto
y el uno una junta prism´atica. El par´ametro offset define los desfases que hay
en la medida del tramo correspondiente, con respecto al ´angulo θ. Pero estos
par´ametros adicionales pueden ser excluidos del algoritmo si se desea.
A continuaci´on se procede con la creaci´on de los eslabones con sus respecti-
vos par´ametros, a partir de la tabla anterior. El c´odigo del algoritmo se muestra
en el Anexo A.4.
En el algoritmo se utilizan funciones espec´ıficas del propio programa para la
5.2 Transformaci´on de D-H para el robot Sidemar 71
construcci´on del robot. Las m´as importantes son:
Funci´on Link: permite la creaci´on de los eslabones (cantidad de eslabones
del robot y sus par´ametros).
Par´ametro L: uni´on entre dos o m´as eslabones (Links).
Comando Twolink: es un comando que sirve ´unicamente para unir dos es-
labones, exclusivamente dos a dos.
SerialLink, permite a˜nadir eslabones para la visualizaci´on en Matlab.
Ficheros mdltwolink y twolink.n, que guardan la estructura geom´etrica y
par´ametros del robot.
Por ´ultimo el comando fkine calcula la cinem´atica del robot y el comando
plot genera la interfaz gr´afica con la geometr´ıa del robot.
Como respuesta del algoritmo se obtiene el modelo cinem´atico de las Ta-
blas 5.7, 5.8, 5.9 y como modelo final se obtiene la matriz de D-H, la mostrada
en la Tabla 5.10, que es igual a la de la Tabla 5.5. obtenida en Matlab sin utilizar
la toolbox de Peter Corke, lo que valida los resultados.
Cinem´atica Directa (Matriz L)
θ = q1 d = 0 a = 0 α = 1,571
θ = q2 d = 265 a = 301 α = 0
Tabla 5.7: Par´ametros relativos a la Cinem´atica Directa.
Gravedad
X Y Z
0 0 9,81
Tabla 5.8: Par´ametros relativos a la gravedad.
72 C´alculos cinem´aticos sobre el robot Sidemar
Base
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Tabla 5.9: Base del sistema (origen).
Cinem´atica Directa (Matriz Posici´on Inicial)
1 0 0 301
0 0 −1 −265
0 1 0 0
0 0 0 1
Tabla 5.10: Posici´on inicial.
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots
Arquitectura hardware-software para diseño, análisis y control de robots

Más contenido relacionado

La actualidad más candente

Introduccion a la_programacion_con_c
Introduccion a la_programacion_con_cIntroduccion a la_programacion_con_c
Introduccion a la_programacion_con_cAbefo
 
As5 gui sf02_001
As5 gui sf02_001As5 gui sf02_001
As5 gui sf02_001Marco Berna
 
Texto mate cap1
Texto mate cap1Texto mate cap1
Texto mate cap1Tom Vera
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaVictor Basurto Alonso
 
Informe 1 robotica industrial
Informe 1 robotica industrialInforme 1 robotica industrial
Informe 1 robotica industrialJose Toro
 
Introducción a la programación en c
Introducción a la programación en cIntroducción a la programación en c
Introducción a la programación en cvictdiazm
 
Unity v41 manual de referencia
Unity v41   manual de referenciaUnity v41   manual de referencia
Unity v41 manual de referenciaJosé Bernabé
 
Matemátigas agrícolas
Matemátigas agrícolasMatemátigas agrícolas
Matemátigas agrícolasHomeroAlonso1
 
Guia osha para escaleras
Guia osha para escalerasGuia osha para escaleras
Guia osha para escalerasTSHST
 
Intelect shortwave 100 esp 14666-b
Intelect shortwave 100 esp 14666-bIntelect shortwave 100 esp 14666-b
Intelect shortwave 100 esp 14666-bsan18
 
proyecto final de carrera con kinect
proyecto final de carrera con kinectproyecto final de carrera con kinect
proyecto final de carrera con kinectCharlie Gonzalez
 
Diseño de un prototipo de robot bípedo con planificación de
Diseño de un prototipo de robot bípedo con planificación deDiseño de un prototipo de robot bípedo con planificación de
Diseño de un prototipo de robot bípedo con planificación deUNT_MECATRONICA
 

La actualidad más candente (18)

Brazo mecanico
Brazo mecanicoBrazo mecanico
Brazo mecanico
 
Introduccion a la_programacion_con_c
Introduccion a la_programacion_con_cIntroduccion a la_programacion_con_c
Introduccion a la_programacion_con_c
 
As5 gui sf02_001
As5 gui sf02_001As5 gui sf02_001
As5 gui sf02_001
 
Texto mate cap1
Texto mate cap1Texto mate cap1
Texto mate cap1
 
Brazo RobóTico
Brazo RobóTicoBrazo RobóTico
Brazo RobóTico
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-java
 
Criptografia (1)
Criptografia (1)Criptografia (1)
Criptografia (1)
 
Informe 1 robotica industrial
Informe 1 robotica industrialInforme 1 robotica industrial
Informe 1 robotica industrial
 
Cuadernodepracticas
CuadernodepracticasCuadernodepracticas
Cuadernodepracticas
 
Introducción a la programación en c
Introducción a la programación en cIntroducción a la programación en c
Introducción a la programación en c
 
Unity v41 manual de referencia
Unity v41   manual de referenciaUnity v41   manual de referencia
Unity v41 manual de referencia
 
Traducción Thinking in Python
Traducción Thinking in PythonTraducción Thinking in Python
Traducción Thinking in Python
 
Matemátigas agrícolas
Matemátigas agrícolasMatemátigas agrícolas
Matemátigas agrícolas
 
Guia osha para escaleras
Guia osha para escalerasGuia osha para escaleras
Guia osha para escaleras
 
Intelect shortwave 100 esp 14666-b
Intelect shortwave 100 esp 14666-bIntelect shortwave 100 esp 14666-b
Intelect shortwave 100 esp 14666-b
 
Criptografia
CriptografiaCriptografia
Criptografia
 
proyecto final de carrera con kinect
proyecto final de carrera con kinectproyecto final de carrera con kinect
proyecto final de carrera con kinect
 
Diseño de un prototipo de robot bípedo con planificación de
Diseño de un prototipo de robot bípedo con planificación deDiseño de un prototipo de robot bípedo con planificación de
Diseño de un prototipo de robot bípedo con planificación de
 

Similar a Arquitectura hardware-software para diseño, análisis y control de robots

SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALSISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALÍcaro Álvarez Giménez
 
Tea diseño de robot apodos
Tea diseño de robot apodosTea diseño de robot apodos
Tea diseño de robot apodosalesraul
 
Apuntes ic4
Apuntes ic4Apuntes ic4
Apuntes ic4Johns CQ
 
Libro programación-en-c++
Libro programación-en-c++Libro programación-en-c++
Libro programación-en-c++Andres Escobar
 
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...Juan Báez Leva
 
Manual referencia cxx
Manual referencia cxxManual referencia cxx
Manual referencia cxxAbefo
 
Alejandro tfm
Alejandro tfmAlejandro tfm
Alejandro tfmmpaljacar
 
Basic
BasicBasic
Basicvcesp
 
Programacion en Phyton desde ce..........................ro
Programacion en Phyton desde ce..........................roProgramacion en Phyton desde ce..........................ro
Programacion en Phyton desde ce..........................roMa Florencia Ferrari
 
teoria_Simulacion.pdf
teoria_Simulacion.pdfteoria_Simulacion.pdf
teoria_Simulacion.pdfUGMA
 
Apuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialApuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialMarco Sains
 
Apuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialApuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialJudith Torres Pessaressi
 
Aplicaciones robotsmoviles
Aplicaciones robotsmovilesAplicaciones robotsmoviles
Aplicaciones robotsmovilesPatricio Ulloa
 
Aplicaciones Robots Moviles y otros pasatiempos.pdf
Aplicaciones Robots Moviles y otros pasatiempos.pdfAplicaciones Robots Moviles y otros pasatiempos.pdf
Aplicaciones Robots Moviles y otros pasatiempos.pdfAlejandro Torres
 

Similar a Arquitectura hardware-software para diseño, análisis y control de robots (20)

SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIALSISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
SISTEMA DE INSPECCIÓN DE PANTÓGRAFOS MEDIANTE VISIÓN ARTIFICIAL
 
Tea diseño de robot apodos
Tea diseño de robot apodosTea diseño de robot apodos
Tea diseño de robot apodos
 
tesina-general
tesina-generaltesina-general
tesina-general
 
tesis de Garbarino
tesis de Garbarinotesis de Garbarino
tesis de Garbarino
 
Apuntes ic4
Apuntes ic4Apuntes ic4
Apuntes ic4
 
Instruction Manual.pdf
Instruction Manual.pdfInstruction Manual.pdf
Instruction Manual.pdf
 
62999778 el-grafcet-practica-y-aplicaciones
62999778 el-grafcet-practica-y-aplicaciones62999778 el-grafcet-practica-y-aplicaciones
62999778 el-grafcet-practica-y-aplicaciones
 
Libro programación-en-c++
Libro programación-en-c++Libro programación-en-c++
Libro programación-en-c++
 
investigacion operativa
investigacion operativainvestigacion operativa
investigacion operativa
 
Teoriapto
TeoriaptoTeoriapto
Teoriapto
 
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
 
Manual referencia cxx
Manual referencia cxxManual referencia cxx
Manual referencia cxx
 
Alejandro tfm
Alejandro tfmAlejandro tfm
Alejandro tfm
 
Basic
BasicBasic
Basic
 
Programacion en Phyton desde ce..........................ro
Programacion en Phyton desde ce..........................roProgramacion en Phyton desde ce..........................ro
Programacion en Phyton desde ce..........................ro
 
teoria_Simulacion.pdf
teoria_Simulacion.pdfteoria_Simulacion.pdf
teoria_Simulacion.pdf
 
Apuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialApuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrial
 
Apuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrialApuntes ingenieria control_cuarto_ingeniero_industrial
Apuntes ingenieria control_cuarto_ingeniero_industrial
 
Aplicaciones robotsmoviles
Aplicaciones robotsmovilesAplicaciones robotsmoviles
Aplicaciones robotsmoviles
 
Aplicaciones Robots Moviles y otros pasatiempos.pdf
Aplicaciones Robots Moviles y otros pasatiempos.pdfAplicaciones Robots Moviles y otros pasatiempos.pdf
Aplicaciones Robots Moviles y otros pasatiempos.pdf
 

Último

desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024CESARHERNANPATRICIOP2
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfXimenaFallaLecca1
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaANACENIMENDEZ1
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 

Último (20)

desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedica
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 

Arquitectura hardware-software para diseño, análisis y control de robots

  • 1. UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INGENIER´IA DE SISTEMAS Y AUTOM ´ATICA TESIS DE M ´ASTER ARQUITECTURA HARDWARE-SOFTWARE PARA DISE ˜NO, AN ´ALISIS Y CONTROL DE ROBOTS Autor: H´ıgor Alves Amorim do Amaral Director: Ram´on Barber Casta˜no Codirector: Antonio Flores Caballero M ´ASTER OFICIAL EN ROB ´OTICA Y AUTOMATIZACI ´ON LEGAN´ES, MADRID MARZO 2014
  • 2. II
  • 3. UNIVERSIDAD CARLOS III DE MADRID MASTER OFICIAL EN ROB ´OTICA Y AUTOMATIZACI ´ON El tribunal aprueba la tesis de Master titulada “ARQUITECTURA HARDWARE-SOFTWARE PARA DISE ˜NO, AN ´ALISIS Y CONTROL DE ROBOTS” realizado por H´ıgor Alves Amorim do Amaral. Fecha: Marzo 2014 Tribunal: Santiago Garrido Bull´on Cristina Castej´on Sisam´on Jonathan Crespo Herrero
  • 4.
  • 5. Dedico esta tesis de mestrado primeiramente a Deus por ter me guiado por todo este tempo e por toda minha vida, me iluminando e ajudando em como trilhar meu caminho, depois agradecer aos meus pa´ıs Ayrton Amaral e Edna Amaral, que sem eles eu n˜ao poderia ter a oportunidade de cursar uma boa universidade e muito menos pensar em estudar fora do pa´ıs, depois ao meu irm˜ao Marco T´ulio Amaral que sempre me apoiou e me orientou muito bem para escolher a melhor op¸c˜ao e oportunidade de estudo, queria agradecer a minha vov´o Maria Martins que sempre me apoiou e sempre me ajudou, e a minha namorada Julina Ferreira que sempre esteve ao meu lado, mesmo nas horas mais dif´ıceis que me encontrava em certos momentos de minha vida profissional. Ya sabemos como es la vida: en un d´ıa todo est´a bien y en otro las cosas ya no son tan perfectas. Altos y bajos son parte de la construcci´on de nuestro car´acter. Con esto, cada momento, cada situaci´on, que vamos a enfrentar en nuestras trayectorias es un desaf´ıo, una oportunidad ´unica de aprender, de ser una mejor persona. Solamente depende de nosotros, de nuestras opciones. No s´e si estoy cerca o demasiado lejos, si me dieron la direcci´on correcta o la equivocada. Solo s´e que sigo adelante, viviendo el mismo d´ıa de forma diferente. Ya no camino m´as solo, llevo conmigo cada recuerdo, cada experiencia, cada lecci´on. Y aunque que todo no ande de la manera que me gustar´ıa, saber que ya no soy el mismo de ayer me hace percibir que vale la pena. Busqu´e ser una persona de valor, en vez de una persona de ´exito. El ´exito es solamente una consecuencia. Albert Einstein.
  • 6.
  • 7. ´Indice general ´Indice de Tablas X ´Indice de Figuras XIII Agradecimientos XVII Resumen XIX Abstract XXI 1. Introducci´on 1 1.1. Motivaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Partes del documento . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2. Descripci´on del sistema propuesto 11 2.1. Ciclo de dise˜no . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2. Elecci´on del hardware de control . . . . . . . . . . . . . . . . . . . 13 2.2.1. PMAC de Delta TAU . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2. PCLAB de Advantech . . . . . . . . . . . . . . . . . . . . . 15 2.2.3. Tarjeta de adquisici´on de datos USB: Keithley kusb 3100 . 16 VII
  • 8. 2.2.4. Soluci´on basada en microcontroladores de bajo coste . . . 17 2.3. Arquitectura de control propuesta . . . . . . . . . . . . . . . . . . 21 2.4. Plataforma hardware: Robot Sidemar . . . . . . . . . . . . . . . . 21 2.5. Sistemas software involucrados . . . . . . . . . . . . . . . . . . . . 25 2.5.1. AutoCad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.5.2. Inventor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.5.3. Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.5.4. SimMechanics . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3. Modelado CAD del robot Sidemar 33 3.1. Modelado del robot Sidemar con AutoCad 2013 . . . . . . . . . . 33 3.1.1. Base del sistema o bancada . . . . . . . . . . . . . . . . . . 34 3.1.2. Primer eslab´on (Brazo 1) . . . . . . . . . . . . . . . . . . . . 36 3.1.3. Segundo eslab´on (Brazo 2) . . . . . . . . . . . . . . . . . . . 38 3.2. Modelado del Robot Sidemar con Inventor 2013 . . . . . . . . . . 39 3.3. Ensamblado del robot Sidemar en Inventor . . . . . . . . . . . . . 40 3.4. Estudios del robot Sidemar en Inventor . . . . . . . . . . . . . . . 43 3.4.1. Estudios en el primer eslab´on . . . . . . . . . . . . . . . . . 44 3.4.2. Estudios en el segundo eslab´on . . . . . . . . . . . . . . . . 47 3.4.3. Estudios en la base . . . . . . . . . . . . . . . . . . . . . . . 48 3.4.4. Estudio de conjunto del Robot Sidemar . . . . . . . . . . . 49 4. Integraci´on del modelo CAD con Matlab y Simulink 51 4.1. Consideraciones iniciales . . . . . . . . . . . . . . . . . . . . . . . . 51 4.2. Descarga e instalaci´on SimMechanics . . . . . . . . . . . . . . . . 53 4.3. Exportaci´on del dise˜no del CAD a SimMechanics . . . . . . . . . 54 4.4. Modelo exportado resultante . . . . . . . . . . . . . . . . . . . . . 55 4.5. Pruebas del modelo del robot Sidemar en SimMchenics . . . . . . 58 5. C´alculos cinem´aticos sobre el robot Sidemar 61 5.1. M´etodo de Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . . 62
  • 9. 5.1.1. Matriz de Denavit-Hartenberg . . . . . . . . . . . . . . . . 63 5.1.2. C´alculo de las matrices de Denavit-Hatenberg . . . . . . . 65 5.2. Transformaci´on de D-H para el robot Sidemar . . . . . . . . . . . 65 5.2.1. Numeraci´on de los eslabones y las articulaciones del robot Sidemar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2.2. Definici´on de los ejes sobre el robot Sidemar . . . . . . . . 67 5.2.3. C´alculo de la cinem´atica directa del robot Sidemar . . . . . 68 5.2.3.1. Mediante Matlab . . . . . . . . . . . . . . . . . . . 68 5.2.3.2. Mediante la Robotics Toolbox . . . . . . . . . . . . 69 6. Resultados experimentales: ´Analisis cinem´atico 73 6.1. Pruebas cinem´aticas con la Robotics Toolbox . . . . . . . . . . . . . 73 6.2. C´alculo de la cinem´atica inversa del robot Sidemar . . . . . . . . . 77 6.3. Simulaci´on de trayectorias con el robot Sidemar . . . . . . . . . . 81 7. Resultados experimentales: Pruebas de control 83 7.1. Pruebas de integraci´on CAD en Matlab . . . . . . . . . . . . . . . 83 7.1.1. Control en cadena abierta en el simulador del robot Sidemar 84 7.1.2. Control PID de posici´on sobre el simulador del robot Side- mar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 7.1.3. Control PID de velocidad en el simulador del robot Sidemar 90 7.2. Hardware de control . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2.1. Configuraci´on software del hardware de control . . . . . . 94 7.3. Pruebas de control en cadena abierta . . . . . . . . . . . . . . . . . 100 7.4. Control PID con realimentaci´on del encoder . . . . . . . . . . . . . 104 7.4.1. Pruebas de Control PID con Slider Gain . . . . . . . . . . . 104 7.4.2. Pruebas de Control PID con Generadores . . . . . . . . . . 108 7.5. Pruebas coordinadas simulador-robot . . . . . . . . . . . . . . . . 111 7.5.1. Pruebas coordinadas en cadena abierta . . . . . . . . . . . 112 7.5.2. Pruebas coordinadas con control PID . . . . . . . . . . . . 113
  • 10. 8. Conclusiones y Trabajos Futuros 117 8.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 8.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Referencias 125 A. C´odigo desarrollado I A.1. Cinem´atica directa eslab´on 1 . . . . . . . . . . . . . . . . . . . . . . I A.2. Cinem´atica directa eslab´on 2 . . . . . . . . . . . . . . . . . . . . . . I A.3. Cinem´atica directa robot completo . . . . . . . . . . . . . . . . . . II A.4. 5.4 Cinem´atica directa con Toolbox . . . . . . . . . . . . . . . . . . II A.5. Giro de 90 grados en ambos eslabones . . . . . . . . . . . . . . . . III A.6. Algoritmo cinem´atica directa con interfaz gr´afica . . . . . . . . . . III A.7. C´alculo del espacio de trabajo . . . . . . . . . . . . . . . . . . . . . IV A.8. Cinem´atica inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . IV A.9. Cinem´atica inversa con giro de 90 grados en primer eslab´on . . . V A.10.Representaci´on gr´afica del giro de 90 grados en primer eslab´on . V A.11.Trayectorias aleatorias . . . . . . . . . . . . . . . . . . . . . . . . . V A.12.Trayectoria circular . . . . . . . . . . . . . . . . . . . . . . . . . . . VI
  • 11. ´Indice de tablas 2.1. Car´acter´ısticas princioales del Tarjeta STM32F4. . . . . . . . . . . 19 5.1. Par´ametros D-H del robot Sidemar. . . . . . . . . . . . . . . . . . . 67 5.2. Matriz D-H para el eslab´on 1. . . . . . . . . . . . . . . . . . . . . . 68 5.3. Matriz D-H para el eslab´on 2. . . . . . . . . . . . . . . . . . . . . . 68 5.4. Multipicaci´on de Matrices D-H de los eslabones 1 y 2. . . . . . . . 69 5.5. Matriz Final de D-H para el robot Sidemar. . . . . . . . . . . . . . 69 5.6. Matriz D-H para Robotics Toolbox. . . . . . . . . . . . . . . . . . . . 70 5.7. Par´ametros relativos a la Cinem´atica Directa. . . . . . . . . . . . . 71 5.8. Par´ametros relativos a la gravedad. . . . . . . . . . . . . . . . . . . 71 5.9. Base del sistema (origen). . . . . . . . . . . . . . . . . . . . . . . . 72 5.10. Posici´on inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.1. ´Angulo de 90 grados en los dos eslabones. . . . . . . . . . . . . . . 74 6.2. Posici´on inicial (origen 0 grados). . . . . . . . . . . . . . . . . . . . 75 6.3. Posici´on final: 90 grados en los dos eslabones. . . . . . . . . . . . . 75 6.4. Matriz Posici´on Cero. . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.5. Matriz Posici´on Inicial. . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.6. Matriz M1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.7. Matriz Q1 para un ´angulo de 0 grados. . . . . . . . . . . . . . . . . 80 XI
  • 12. 6.8. Matriz Q1 para un ´angulo de 90 grados. . . . . . . . . . . . . . . . 80 6.9. Matriz final para un ´angulo de 90 grados. . . . . . . . . . . . . . . 80
  • 13. ´Indice de figuras 2.1. Ciclo de dise˜no del sistema. . . . . . . . . . . . . . . . . . . . . . . 12 2.2. Tarjeta de control de ejes PMAC. . . . . . . . . . . . . . . . . . . . 14 2.3. Conector Advantech PCDL 8710. . . . . . . . . . . . . . . . . . . . 15 2.4. Tarjeta Keithley con conexi´on USB. . . . . . . . . . . . . . . . . . . 16 2.5. Tarjeta Arduino Mega 2560. . . . . . . . . . . . . . . . . . . . . . . 17 2.6. Tarjeta STM32F4 Discovery. . . . . . . . . . . . . . . . . . . . . . . 18 2.7. Esquema de control implementado. . . . . . . . . . . . . . . . . . 21 2.8. Trabajo previo (Estimaci´on de posici´on con del robot sometido a diferentes pesas). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.9. Base del robot Sidemar. . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.10. Primer Eslab´on del robot Sidemar. . . . . . . . . . . . . . . . . . . 24 2.11. Segundo Eslab´on del robot Sidemar. . . . . . . . . . . . . . . . . . 24 2.12. Robot Sidemar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.13. Logotipo de AutoDesk. . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.14. Logotipo de AutoCad. . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.15. Logotipo de Inventor. . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.16. Interface del programa Inventor. . . . . . . . . . . . . . . . . . . . 28 2.17. Logotipo del programa Matlab. . . . . . . . . . . . . . . . . . . . . 29 2.18. Entorno de trabajo de Matlab. . . . . . . . . . . . . . . . . . . . . . 30 XIII
  • 14. 2.19. Entorno SimMechanics. . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1. Modelado de la base en AutoCad. . . . . . . . . . . . . . . . . . . 35 3.2. Modelado de la reductora (Parte externa). . . . . . . . . . . . . . . 36 3.3. Modelado del primer eslab´on en AutoCad. . . . . . . . . . . . . . 36 3.4. Dise˜no estructural del primer eslab´on en AutoCad. . . . . . . . . 37 3.5. Modelado del Brazo 1 y su respectiva reductora HD. . . . . . . . . 37 3.6. Dimensiones y estructura del segundo eslab´on. . . . . . . . . . . . 38 3.7. Robot Sidemar y su dise˜no en AutoCad. . . . . . . . . . . . . . . . 39 3.8. Entorno para an´alisis de tensiones para el robot. . . . . . . . . . . 41 3.9. Conjunto de piezas importadas. . . . . . . . . . . . . . . . . . . . . 41 3.10. Ensamblaje del primer eslab´on a la base. . . . . . . . . . . . . . . . 42 3.11. Robot Sidemar ensamblado. . . . . . . . . . . . . . . . . . . . . . . 43 3.12. Centro de gravedad del robot Sidemar. . . . . . . . . . . . . . . . . 43 3.13. Herramientas de Inventor para an´alisis estructural. . . . . . . . . 44 3.14. Fuerza de 10 N sobre el primer eslab´on. . . . . . . . . . . . . . . . 45 3.15. Flexi´on resultante en el primer eslab´on a˜nadiendo gravedad. . . . 45 3.16. Resultado de la fuerza de 10 N m´as la acci´on de la gravedad. . . . 47 3.17. Acci´on de la gravedad sobre el segundo eslab´on. . . . . . . . . . . 47 3.18. Resultado de la acci´on de la gravedad sobre el brazo 2. . . . . . . 48 3.19. Resultado de las fuerzas en la base. . . . . . . . . . . . . . . . . . . 48 3.20. Resultado de las fuerzas aplicadas sobre el robot Sidemar. . . . . 49 4.1. Pasos para importar dise˜nos CAD en SimMechanics. . . . . . . . 52 4.2. Conexi´on exitosa entre Simulink e Inventor. . . . . . . . . . . . . . 53 4.3. Sistemas de coordenadas en Inventor. . . . . . . . . . . . . . . . . 54 4.4. Robot Sidemar en SimMechanics. . . . . . . . . . . . . . . . . . . . 55 4.5. Bloques resultantes en SimMechanics tras el proceso de exportaci´on. 56 4.6. Bloques b´asicos generados en SimMechanics. . . . . . . . . . . . . 56 4.7. Par´ametros del elemento tipo Body para los eslabones. . . . . . . . 57
  • 15. 4.8. Bloque Joint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.9. Bloques de sensores y actuadores. . . . . . . . . . . . . . . . . . . 58 4.10. Diagrama de bloques en SimMechanics con sliders. . . . . . . . . . 59 4.11. Prueba del modelo en SimMechanics mediante el uso de sliders. . 59 5.1. Problemas cinem´aticos en rob´otica. . . . . . . . . . . . . . . . . . . 62 5.2. Sentido de giro en los dos ejes. . . . . . . . . . . . . . . . . . . . . 66 5.3. Definici´on de ejes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.1. Interfaz gr´afica de Robotics Toolbox con el modelo del robot Sidemar. 74 6.2. Posici´on del robot Sidemar con el primer y segundo eslab´on rota- do en 90 grados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.3. Cinem´atica directa y posibles movimientos del robot Sidemar. . . 76 6.4. Espacio de trabajo completo. . . . . . . . . . . . . . . . . . . . . . . 77 6.5. ´Area de trabajo parcial. . . . . . . . . . . . . . . . . . . . . . . . . . 77 6.6. Trayectoria realizada por el robot Sidemar. . . . . . . . . . . . . . 82 7.1. Control en cadena abierta del robot simulado. . . . . . . . . . . . 85 7.2. Control PID en posici´on. . . . . . . . . . . . . . . . . . . . . . . . . 88 7.3. Se˜nal de referencia y posici´on obtenida por los encoders. . . . . . 89 7.4. Robot alcanzando la posici´on 90o en sus dos eslabones. . . . . . . 89 7.5. Respuestas en velocidad para referencia de 1 rad/s en ambos es- labones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.6. Motores girando a una velocidad de 1 rad/s. . . . . . . . . . . . . 91 7.7. Piezas en el primer eslab´on y encoder absoluto instalado. . . . . . 92 7.8. Piezas en el segundo eslab´on y encoder absoluto instalado. . . . . 93 7.9. Microcontrolador STM32F4 conectado a los sensores y drivers de potencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 7.10. Configuraci´on tarjeta STM32F4. Entradas y salidas. . . . . . . . . 95 7.11. Configuraci´on tarjeta STM32F4. Bloque USB. . . . . . . . . . . . . 96 7.12. Configuraci´on Encoder. . . . . . . . . . . . . . . . . . . . . . . . . 98
  • 16. 7.13. Bloque de conexi´on encoder. . . . . . . . . . . . . . . . . . . . . . . 99 7.14. Configuraci´on de control en cadena abierta. . . . . . . . . . . . . . 101 7.15. Slider del Motor 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 7.16. Gr´aficas de las se˜nales de los encoders. . . . . . . . . . . . . . . . . 102 7.17. Motor 1 girando en los dos sentidos. . . . . . . . . . . . . . . . . . 103 7.18. Motor 2 girando en los dos sentidos. . . . . . . . . . . . . . . . . . 104 7.19. Control PID en posici´on con referencia mediante sliders gain. . . . 105 7.20. Se˜nales sistema de control y de los encoders. . . . . . . . . . . . . 106 7.21. Diagrama de bloques con un ´unica referencia. . . . . . . . . . . . 107 7.22. Se˜nales del sistema con una ´unica referencia. . . . . . . . . . . . . 107 7.23. Diagrama de bloques con dos generadores de pulsos. . . . . . . . 108 7.24. Se˜nales del sistema con generadores de pulsos. . . . . . . . . . . . 109 7.25. Diagrama de bloques con un ´unico generador de pulsos. . . . . . 110 7.26. Se˜nales generadas con un ´unico generador de pulsos. . . . . . . . 110 7.27. Se˜nales en posici´on obtenidas con el sistema estabilizado. . . . . . 111 7.28. Diagrama de bloques de control coordinado del robot y su modelo. 112 7.29. Robot y simulaci´on controlados de forma coordinada. . . . . . . . 113 7.30. Diagram de bloques para control coordinado con PID. . . . . . . . 114 7.31. Secuencia de posiciones del control coordinado robot-simulaci´on-I. 115 7.32. Secuencia de posiciones del control coordinado robot-simulaci´on-II.115 7.33. Secuencia de posiciones del control coordinado robot-simulaci´on- III. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
  • 17. Agradecimientos Agradezco la presente tesis primeramente a la Universidad Carlos III de Madrid por haberme dado la oportunidad de estudiar en una gran Uninversi- dad, con reconocimiento a nivel mundial, sobre todo en los estudios de rob´otica. Agradezco a todo los profesores que me ayudaron a fortalecer mis conocimien- tos sobre diversos temas del mundo de la rob´otica y principalmente agradezco a Ram´on Barber mi tutor de la tesis, por haberme ayudado en todos los ´ambitos del conocimiento, pr´actico, te´orico y tambi´en entender mis limitaciones cuanto a conocimientos de ingenier´ıa y del idioma. Tambi´en quiero a agradecer a Cris- tina Castej´on por ayudarme con los documentos del robot Sidemar y con las correcciones de la tesis. Tambi´en a Antonio Flores por la ayuda con los bloques del Simulink y en la adquisici´on de la tarjeta y sensores del proyecto. Y por ´ulti- mo a mis compa˜neros de master, principalmente a Carlos Ast´ua por haberme ayudado en todo los momentos en la tesis. XVII
  • 18.
  • 19. Resumen Este trabajo presenta una metodolog´ıa de dise˜no y control en tiempo real usando hardware de bajo costo y trabajando con un robot real y su modelo si- mulado de una manera coordinada. La metodolog´ıa se inicia en la fase de dise˜no utilizando una herramienta de CAD y genera el modelo del robot en Matlab y Simulink como plataformas de integraci´on, que son ampliamente utilizados en herramientas de dise˜no y control de ingenier´ıa. Como parte del documento, se propone la integraci´on de hardware y software para el control del robot, inclu- yendo el uso de soluciones de bajo. El control de hardware est´a gestionado por Simulink, con es capaz de operar tanto en la simulaci´on y el robot real. Como prototipo rob´otico, se emplea el robot Sidemar, de 2 grados de libertad, robot que ha sido dise˜nado como un prototipo de robot de servicio. En esta platafor- ma se muestra un ejemplo de la metodolog´ıa propuesta, desde el dise˜no CAD hasta la prueba final de control tanto en la simulaci´on y como en la plataforma real. XIX
  • 20.
  • 21. Abstract This work presents a design and control methodology in real time using low cost hardware, working on a real robot as well as on a simulation, in a coordi- nated way. The methodology starts in the design phase using a CAD tool and generates the model of the robot in Matlab and Simulink as integration plat- forms, which are widely used tools in design and control engineering. As part of the document, the integration of hardware and software for the robot’s control is proposed, including the use of low cost solutions with powerful performan- ces. The hardware control is managed by Simulink, with is able to operate both the simulation and the real robot. As a robotic prototype, a 2 degrees of freedom robot arm has been used, designed as a service robot. In this platform the aut- hors show an example of the proposed methodology, from the CAD design to the final control test both in simulation and with the real platform. XXI
  • 22.
  • 23. Cap´ıtulo 1 Introducci´on El presente Trabajo de Fin de M´aster se desarrolla dentro del Departamento de Ingenier´ıa de Sistemas y Autom´atica de la Universidad Carlos III de Madrid y en ´el se elabora un modelo de simulaci´on de un prototipo de robot asistencial que funciona de manera conjunta y coordinada con el robot real. En este cap´ıtulo se detallar´an los motivos que han llevado a la realizaci´on del presente Trabajo Fin de M´aster, sus objetivos y las etapas de trabajo y desarrollo seguidas en la misma. Por ´ultimo, se describir´an las partes de este documento, comentando como se organizan los contenidos del trabajo realizado. 1.1. Motivaci´on El desarrollo y dise˜no de robots asistenciales es una tarea compleja y que normalmente requiere de hardware de control con coste elevado y software de control muy complejo o que ofrece pocas posibilidades en el mundo de la inves- tigaci´on. El conseguir implementar un sistema hardware y software de control
  • 24. 2 Introducci´on de bajo precio y f´acilmente integrable con herramientas software de uso habi- tual, facilitar´ıa el dise˜no y reducir´ıa los ciclos de desarrollo de este tipo de ro- bots, que en la mayor´ıa de los casos son prototipos de investigaci´on. El proceso integraci´on del dise˜no del robot con el software de control, a partir de las propias herramientas de dise˜no, hace que el ciclo dise˜no-an´alisis-control del robot se vea dr´asticamente reducido, permitiendo reducir a pocos pasos su estudio. Aparte de ello, al incluir el propio esquema de control la conexi´on di- recta del robot, permite pasar de forma inmediata y coordinada de la simulaci´on a la actuaci´on sobre el propio robot. Como prototipo rob´otico se ha empleado un brazo robotizado de 2 grados de libertad, construido para el estudio del dimensionado de actuadores en el pro- yecto SIDEMAR concedido conjuntamente al Departamento de Ingenier´ıa de Sistemas y Autom´atica y al Departamento de Ingenier´ıa Mec´anica de la Univer- sidad Carlos III de Madrid por el Ministerio de Educaci´on y Ciencia. El sistema est´a dise˜nado para ser un robot de servicio, que seg´un la IFR (Federaci´on In- ternacional de Rob´otica) es un robot que opera de forma parcial o totalmente aut´onoma, para realizar servicios ´utiles para el bienestar de los humanos y de equipamientos, excluyendo operaciones de manufacturas, es decir, un sistema que no puede ser utilizado en la industria o fabricaci´on de productos. Como idea de partida se pretend´ıa implementar un sistema de control en tiempo real que funcione tanto en el propio robot como en su sistema simulado mediante ayuda de un software para creaci´on del sistema CAD y la integra- ci´on del mismo en Matlab Y Simulink, de manera que permitan completarse las caracter´ısticas cinem´aticas y din´amicas del prototipo y poder realizar as´ı su pos- terior an´alisis.
  • 25. 1.1 Motivaci´on 3 Para la conexi´on del software de control al robot se buscaba una soluci´on de bajo coste, que conservara altas prestaciones y permitiera la conexi´on con la herramienta de control elegida, Matlab y Simulink. En este trabajo se buscan dos tipos diferentes de procedimientos para reali- zar el estudio y control del robot: estudio sobre el modelo generado a partir del dise˜no y estudio y control sobre el propio robot real, de manera que se pueda hacer una comparaci´on del robot Sidemar trabajando tanto en tiempo real como simulado (al an´alogo del caso de los aviones y sus respectivos simuladores para entrenar a los pilotos). Para ello se realizar´a una implementaci´on software que permita trabajar tanto con el robot real como con su modelo simulado, y que adem´as permita hacerlo de manera conjunta con los dos. En el caso de trabajar en modo simulaci´on hace que no se necesite del robot real, permitiendo que se trabaje con el modelo extra´ıdo a partir del dise˜n´o del robot. De esta manera, el sistema simulado contiene todos los par´ametros de creaci´on del robot real, faci- litando las fases de an´alisis y control del sistema. El sistema de control trabaja en tiempo real tanto sobre el modelo simulado como sobre el propio robot, lo que facilita una posterior comparaci´on entre los resultados de ambos. Para llegar a esta arquitectura de an´alisis y control del robot se hace necesario utilizar varios softwares CAD y de herramientas para convertir dichos dise˜nos a Matlab, software elegido para la implementaci´on del sistema pos su universali- dad y disponibilidad en muchas empresas y universidades. Dentro de Matlab se pueden encontrar herramientas como SimMechanics Link que convierten estos dise˜nos en archivos donde Matlab puede importarlos de manera directa. Para conseguir la conexi´on con el robot se estudiar´an las posibles soluciones hardwa- res existentes en el mercado para unir al sistema los sensores y actuadores del robot. En esta l´ınea, la idea ser´ıa la utilizaci´on de una tarjeta de bajo coste para
  • 26. 4 Introducci´on hacer el control de se˜nales de entrada y se˜nales de salida de los motores del ro- bot y sus encoders. Esta adaptaci´on de la plataforma rob´otica, no solo permite abaratar, simpli- ficar y ampliar las posibilidades del prototipo rob´otico frente a sus prestaciones originales, sino que adem´as facilitan su extensi´on al uso de otras plataformas, as´ı como su uso con fines docentes. 1.2. Objetivos El objetivo principal de este Trabajo fin de Master puede definirse como: Implementar un sistema de control de bajo coste en tiempo real que funcione tanto en el robot real como en el modelo obtenido de un sistema CAD y la integraci´on empleando Matlab y Simulink, Para alcanzar este objetivo ser´an necesarias distintas fases de estudio y prue- ba de diferentes tecnolog´ıas, para comprobar la viabilidad del mismo. Como prueba para validar el sistema del funcionamiento del modelo coordinado con el robot se propone cerrar el bucle de control con un regulador PID. Para alcanzar este objetivo, ha sido necesario: 1. Realizar estudios sobre el robot Sidemar y trabajos previos como punto de partida para conocer la estructura y funcionalidad del robot, y ver las posibili- dades de mejora, adaptaci´on y actualizaci´on del sistema su sistema de control. 2. Hacer estudios previos sobre los softwares CAD/CAM que mejor se ade- cuan al sistema como: Inventor, Sketchup, SolidWorks, SolidEdge, y estudiar su portabilidad entre ellos y su posibilidad de integraci´on con Matlab y Simulink.
  • 27. 1.2 Objetivos 5 3. Realizar el modelado CAD del sistema rob´otico estudiado. 4. Estudiar de las posibilidades de integraci´on de herramientas de an´alisis y control en Matlab-Simulink, estudiando c´omo se puede utilizar las herramientas de Matlab para el estudio del robot y utilizando distintos tipos de controladores elaborados en Simulink. 5. Estudiar la cinem´atica del robot obtenido a partir del dise˜no. 6. Realizar estudios sobre las posibilidades de hardware que faciliten el con- trol del robot, considerando entre microcontroladores y tarjetas de bajo coste. 7. Estudiar la integraci´on del funcionamiento del sistema real y el simulado. 8. Realizar pruebas coordinadas de control del sistema real y el simulado. Existen diversos trabajos de rob´otica relacionados con la idea que se preten- de implementar en esta propuesta, utilizando herramientas CAD para desarro- llo y SimMechanics para control del robot. En la mayor´ıa de los casos son siste- mas que trabajan o solo con el simulador o solo con la plataforma rob´otica. En (Haughey, 2011) se crea un simulador de un brazo rob´otico de dos grados de li- bertad en cadena abierta con un espacio de trabajo simple de dimensionar sobre el que se permiten ejecutar diversas tareas. Fue creado en SimMechanics para estudios din´amicos del sistema (en este caso la simulaci´on es apenas cinem´atica, no tiene el dise˜no estructural del robot) y permite optimizar el sistema en cuan- to a sus dimensiones mec´anicas, hacer c´alculos de trayectorias y hacer tareas preestablecidas. En la linea anterior, en los trabajos (Shah, 2011) y (Bajrami, Sha- la, Likaj, y Dermaku, 2013), los dise˜nos son s´olamente din´amicos y la estructura
  • 28. 6 Introducci´on de los robots reales no est´an representadas. Su objetivo es hacer mejoras cuanto a reducci´on del sistema y ayudar a su optimizaci´on. El trabajo se basa en crear un simulador para hacer an´alisis cinem´aticos y din´amicos de un robot de seis gra- dos de libertad con estructura cinem´atica paralela (espacio de trabajo cerrado y muy dif´ıcil de trabajar). En (Cruz, 2012) tambi´en se puede ver un robot paralelo, pero en este caso el sistema se dise˜n´o en SimMechanics con el fin hacer an´alisis de vibraci´on estructural e implementar t´ecnicas de control estructural para que no existan problemas de imprecisiones en cuanto a posicionamiento del extre- mo final del robot. Tambi´en se puede encontrar estudios similares con otro tipo de robots. En (Tlale y Zhang, 2005a) encontramos un humanoide en el que se calcula el ZMP (Zero Moment Point) para el estudio de la caminata de un robot. Crearon un simulador rob´otico de la estructura del robot en SimMechanics para hacer an´alisis cinem´aticos y din´amicos y optimizar as´ı los algoritmos de control de la caminata del robot Archie de 30 grados de libertad. En esta misma l´ınea tambi´en se puede encontrar un robot con 27 grados de libertad (Teodoro, 2007) para el que fue creado un simulador rob´otico con la estructura real del mismo, de manera an´aloga al anteriormente comentado. En este caso se realizan an´alisis din´amicos, incorpora mecanismos de registro de datos de percepci´on y permite actuar sobre el sistema mediante teleoperaci´on. Como elemento diferenciador, emplea sistemas de control cognitivos. Considerando trabajos previos donde se parte del dise˜no CAD como base de la simulaci´on, en (Gebrehiwot, 2009/2010) se puede encontrar una aproxima- ci´on donde, con el objetivo de hacer estudios de los controladores de un robot humanoide, se dise˜na en sistema en una herramienta CAD y luego se la pasa al programa SimMechanics de Matlab. Se hacen pruebas con el robot simulado y en una fase posterior se aplican los resultados al robot real. En (Caglav, 2006) se puede ver un sistema distinto de los anteriores, donde se emplea un robot
  • 29. 1.2 Objetivos 7 serpiente. En este caso, al contrario de los anteriores, en vez de utilizar el Sim- Mechanics como soporte para el dise˜no de los controladores, se modela el robot mediante funciones de transferencia en Simulink para el c´alculo de los controla- dores, que una vez ajustados, son aplicados sobre el modelo en SimMechanics. Para ello crean un modelo simplificado del robot sin masas en su estructura (es una an´alisis totalmente cinem´atico y que no tiene en cuenta la estructura real del robot). En (Dung, Kang, y Ro, 2010) se realiza una implementaci´on de un sistema compensador de gravedad tipo PD sobre un robot manipulador con ayuda del software SimMechanics. En este trabajo se prueba que este software es muy ´util para modelado de sistemas complejos. En (Yu, Zhang, Zhang, y Yang, 2010) se hace una prueba con SimMechanics para simular la cinem´atica de un robot de tres grados de libertad con estructura cinem´atica paralela. Se calcula la cinem´ati- ca directa e inversa utilizando la herramienta SimMechanics y posteriormen- te Simulink. En este caso se emple´o un modelo simplificado del robot real. En (Fatehi, Vali, Eghtesad, y Fatehi, 2011) aparece un caso que tiene la misma ca- dena cinem´atica que en (Tlale y Zhang, 2005b), pero los c´alculos fueron hechos ´unicamente en base a las din´amicas del robot y tambi´en emplea un modelo sim- plificado del robot para realizar simulaciones b´asicas. En (Yang, Ye, Peter, y Han, 2010) se encuentra es un trabajo que aborda la investigaci´on sobre la din´amica de otro robot de seis grados de libertad con cadena cinem´atica paralela en el que se emplean los m´etodos de Kane y un controlador PID ayud´andose de Simulink. Los trabajos anteriores demuestran la capacidad que el programa Simulink con SimMechanics tiene en cuanto a los c´alculos de cinem´aticas, din´amicas y planificaci´on de trayectorias, as´ı como para el estudio de diversos tipos de con- trol de sistemas rob´oticos. Todos ellos apuntan a que la idea planteada de crear
  • 30. 8 Introducci´on un sistema hardware-software que pueda funcionar al mismo tiempo tanto so- bre el robot rel como sobre su modelo en un simulador, bien conjuntamente o por separado, con ayuda de Simulink y SimMechanics sea viable. 1.3. Partes del documento El presente Trabajo Fin de M´aster est´a organizado en los siguientes cap´ıtulos: En el primer cap´ıtulo se ha presentado la motivaci´on y objetivos que llevan a realizar este Trabajo Fin de M´aster. En el cap´ıtulo segundo se describe la arquitectura completa del sistema propuesto. Se explica el ciclo de trabajo desde la fase del dise˜no CAD hasta su integraci´on en la fase de control. Se comentan las posibilidades hardwaare para su control, concluyendo con la arquitectura escogida para cumplir con los objetivos propuestos. Tambi´en se describe la plataforma hardware rob´otica y las herramientas software utilizadas para las imple- mentaciones. En el cap´ıtulo tercero se muestra el proceso de modelado el robot. En este caso se utilizaron los softwares AutoCad e Inventor para crear el modelo del robot a partir del sistema real .El cap´ıtulo se completa con unos prime- ros estudios sobre el comportamiento cinem´atico y est´atico del robot. El cap´ıtulo cuarto describe el proceso de exportaci´on del dise˜no hecho en Inventor hac´ıa SimMechanics, herramienta para control de sistemas mec´anicos simulados de Matlab. Posteriormente se explica c´omo se ampl´ıa dicho esquema de Simulink para completar el esquema de control que act´ue tanto sobre el robot real como sobre su modelo en SimmMechanics.
  • 31. 1.3 Partes del documento 9 En el cap´ıtulo quinto se explica como encontrar la cinem´atica directa e inversa del robot Sidemar y se compara con las realizadas utilizando a Robotics ToolBox de Matlab. El cap´ıtulo sexto recogen los resultados experimentales realizados sobre el an´alisis cinem´atico del robot,tanto de la cinem´atica directa como inver- sa, estableciendo el espacio de trabajo del robot y calculando trayectorias dentro del mismo. El cap´ıtulo s´eptimo recogen los resultados experimentales realizados con el sistema real y el sistema simulado con ayuda de SimMechanics. Se se presentan pruebas de control del robot en cadena abierta y cerrando la cadena en posici´on, funcionando en conjunto y/o por separado. Por ´ultimo, en el cap´ıtulo octavo, se exponen las conclusiones obtenidas a partir del trabajo y los trabajos futuros que se pueden realizar utilizando la arquitectura propuesta tanto en el an´alisis de la plataforma de estudio, como de otras plataformas y otro tipo de controladores.
  • 33. Cap´ıtulo 2 Descripci´on del sistema propuesto Para los desarrollos de este trabajo se contempla una arquitectura que, par- tiendo del dise˜no original del robot se pueda llevar su estructura inicial de forma r´apida y sencilla a su modelo en Simulink, listo para analizar e integrar los con- troladores. 2.1. Ciclo de dise˜no En la Figura 2.1 se muestra las fases de dise˜no del sistema propuesto. En primer lugar se parte de los planos CAD del robot, destinados a su fabricaci´on. Dichos planos contienen toda la informaci´on sobre la geometr´ıa del robot y sus dimensiones, as´ı como la informaci´on necesaria para el ensamblado. Dependiendo de la herramienta elegida, en nuestro caso, AutoCad, el mode- lo se puede completar con el uso de otras herramientas de dise˜no tambi´en CAD m´as completas destinadas a su an´alisis cinem´atico y din´amico. En este caso se ha utilizado Inventor por tener compatibilidad completa con AutoCad y ser am- bos de la empresa AutoDesk. Con Inventor se pueden completar datos sobre el
  • 34. 12 Descripci´on del sistema propuesto dise˜no del robot que afectan a su comportamiento din´amico como masas y otras propiedades. El siguiente paso es generar un modelo que facilite el intercambio con Si- mulink. Inventor contempla la exportaci´on a ficheros con formatos .XML, que es un est´andar reconocido por muchas aplicaciones y herramientas software de dise˜no. Este formato permite ser importado por SimMechanics y Simulink, con lo que con unas pocas operaciones se consigue tener el modelo del robot en Si- mulink. Figura 2.1: Ciclo de dise˜no del sistema.
  • 35. 2.2 Elecci´on del hardware de control 13 En Simulink se completa el modelo con elementos de mando y visualiza- dores, as´ı como los par´ametros que se consideren necesarios para el an´alisis y control del robot. Tras hacer las primeras pruebas y obtener los primeros resul- tados, se puede volver a la etapa inicial de dise˜no si se considera necesario, hasta conseguir el dise˜no final del robot Figura 2.1. 2.2. Elecci´on del hardware de control Tras tener el modelo del robot en Simulink y SimMechanics y probar su fun- cionamiento, el siguiente paso es encontrar una tarjeta o dispositivo hardware que nos permita controlar el robot desde Simulink. Este hardware tiene como funci´on b´asica recibir datos de sensores tipo encoder y enviar comandos a los motores. Como se ha comentado en el primer cap´ıtulo, el objetivo ´ultimo de es- te trabajo es conseguir hacer un control coordinado del robot y del modelo en Simulink, con lo que tiene que tener la posibilidad de ser manejado por este. Adem´as, debe ser del menor coste posible, para facilitar la construcci´on y el es- tudio de este tipo de robots. 2.2.1. PMAC de Delta TAU Como se ha comentado tambi´en en este trabajo, antes de llegar a una solu- ci´on sobre el hardware de control que mejor se adec´ua con el robot Sidemar, hubo que hacer un estudio sobre el hardware con el que se realiz´o el control del robot anteriormente. El control original del robot se realizaba mediante una tarjeta de control de ejes PMAC, Figura 2.2 del fabricante Delta Tau, una tarjeta ampliamente utiliza- da en la industria para controlar robots con hasta ocho ejes. Tambi´en se permit´ıa
  • 36. 14 Descripci´on del sistema propuesto recibir se˜nales de diversos tipos de sensores. Figura 2.2: Tarjeta de control de ejes PMAC. Esta tarjeta presentaba varios inconvenientes: La placa se conectaba en el bus PCI interno del computador, lo que reduc´ıa las posibilidades de trabajo a un ´unico computador. Su cable de conexi´on para enviar y recibir datos era un cable que solamente se pod´ıa conectar con ordenadores mediante el protocolo de comunicaci´on RS-322, y que no utilizaba la conexi´on tipo DB 9 (la m´as com´un), sino que utilizaba la conexi´on tipo DB 25, una conexi´on que hoy en d´ıa casi no se utiliza, y defiere de las tarjetas actuales que usan una conexi´on tipo DB 9 y pueden ser convertidas por un convertidor DB 9 - USB. Software de control complejo, teni´endose que realizar aplicaciones espec´ıfi- cas para implementar su control, dificultando la integraci´on de algoritmos de control. Para programar los algoritmos deb´ıa utilizarse las funciones y librer´ıas del fabricante, no estando disponibles en c´odigo abierto.
  • 37. 2.2 Elecci´on del hardware de control 15 Las posibilidades de su manejo desde Matlab son muy complicadas y no se podr´ıan utilizar todas las posibilidades de control que la tarjeta dispone, ya que Matlab no es capaz de manejarlas. Por ´ultimo y m´as importante, su precio elevado frente a otras soluciones actuales que ofrece el mercado. 2.2.2. PCLAB de Advantech Tambi´en se pens´o en utilizar la tarjeta adquisici´on de datos o DAQ con en- tradas y salidas tanto anal´ogicas como digitales, en concreto la PCLab 1711H con bornero PCDL 8710 Figura 2.3. Figura 2.3: Conector Advantech PCDL 8710. Entre los inconvenientes de dicha tarjeta de control nos encontramos: Como en el caso anterior, se encuentra conectada en el bus PCI interno del computador, lo que reduce las posibilidades de trabajo a un ´unico compu- tador.
  • 38. 16 Descripci´on del sistema propuesto La tarjeta debe ser manejada en modo externo en Simulink, limitando las posibilidades de SimMechanics que no ofrece todas sus funcionalidades trabajando en este modo. 2.2.3. Tarjeta de adquisici´on de datos USB: Keithley kusb 3100 Esta tarjeta, Figura 2.4, al conectarse a trav´es del puerto USB, permit´ıa el uso de diferentes computadores, lo que disminu´ıa la dependencia de un ´unico or- denador como ocurr´ıa en los casos anteriores. Adem´as se mostraba como una soluci´on intermedia en precio entre la soluci´on original de control y la elegida. Figura 2.4: Tarjeta Keithley con conexi´on USB. El principal inconveniente fue que Matlab y Simulink dejaron de prestar so- porte a esta tarjeta a partir de las versiones 2013a, con lo que las posibilidades de integraci´on en Simulink se vieron reducidas dr´asticamente.
  • 39. 2.2 Elecci´on del hardware de control 17 2.2.4. Soluci´on basada en microcontroladores de bajo coste Dado el aumento en la potencia de c´alculo que est´an experimentando los mi- crocontroladores, y las posibilidades de manejo de entradas y salidas que em- piezan a incorporar, la soluci´on basada en microcontroladores se mostraba como una opci´on viable. Entre este tipo de microcontroladores se estudiaron dos soluciones: el micro- controlador Arduino y el STM32F4. Dentro de la familia de microcontroladores Arduino, en la fecha de realiza- ci´on de este trabajo, el que ofrec´ıa m´as posibilidades era el Arduino Mega 2560, Figura 2.5 que permit´ıa su integraci´on con Matlab. Figura 2.5: Tarjeta Arduino Mega 2560. Esta soluci´on presentaba los siguientes inconvenientes:
  • 40. 18 Descripci´on del sistema propuesto Rango de frecuencias de trabajo y periodos de muestreo muy limitados. La integraci´on de las se˜nales provenientes de los encoders empleados re- querir´ıa de una placa adicional. Como una segunda posibilidad se pens´o en el uso del microcontrolador STM32F4 de la empresa ST Microelectronics, Figura 2.6, que es un microcontro- lador muy utilizado en las industrias y universidades e inclusive, actualmente algunos pa´ıses est´an utilizando la tarjeta para investigaciones en industrias con fines militares. Figura 2.6: Tarjeta STM32F4 Discovery. cuyas caracter´ısticas t´ecnicas m´as importantes se resumen en el tabla 2.1
  • 41. 2.2 Elecci´on del hardware de control 19 Tarjeta STM32F4 Discovery Voltaje de trabajo 0,2 V hasta 3,6 V Memoria Flash 1 MB Protocolos Aceptados I2C, I2S, CAN, SPI Procesador ARM Cortex - M4 180 MHz Voltaje 1,2 con regulador para POR/PDR/PVD Cristal Oscilador 32 kHz + 4 hasta 26 MHz Oscilador Interno Rc 0,18 Control de Clock Si RTC/AWU Si Watchdogs 2 independientes CRC 1 control de ciclo de redundancia Acelerometro 1 ART (LIS302DL) Canales PWM 2 x 16 bit Timers 5 x 16 bit, 2 x 32, 3 x 16 bit Interface para camera 1 USART 4 USART + 4 UART LIN Interface Serial de Audio 1 x SAI SDIO 1 USB 2.0 OTG FS 1 USB 2.0 OTG FS/HS 1 CAN 2.0B 1 Ethernet MAC 10/100 con IEEE 1588 SPI 6 Oscilador Interno Rc 2 Oscilador Interno Rc 3 Canales Anal´ogicos 2 canales (2x 12 bit) DAC / DAC usado (CS43L22) Canales Anal´ogicos 24 canales (3x 12 bit) ADC, 2 MSPS Sensor Temperatura 1 Canales DMA 16 Canales de I/O 80 Reproduce audio Si Enviar y Recibir datos USB (sin necesidad de programador para esto) Microfono Integrado Si, MP45DT02 Tabla 2.1: Car´acter´ısticas princioales del Tarjeta STM32F4.
  • 42. 20 Descripci´on del sistema propuesto Esta soluci´on fue la finalmente utilizada fundamentalmente por solucionar las carencias encontradas en los Arduinos: Rango de frecuencias de trabajo y tiempos de muestreo mayores. (Dar va- lores) Posibilidades en cuanto a puertos para la conexi´on de sensores mucho ma- yores, facilit´andose el conexionado directo de los encoders de los motores. Si bien sus posibilidades de conexionado con Matlab eran muy reducidas, el trabajo realizado por Antonio Flores en cuanto a la integraci´on de este tipo de microcontrolador con Simulink (F., 2014), abri´o un gran campo de posibilidades en cuanto a su utilizaci´on en este trabajo, facilitando la consecuci´on de los objeti- vos de control del robot, integrado en Simulink con SimMechanics y a bajo coste. Esta soluci´on nos permite controlar diversos motores y recibir se˜nales de los sensores sin ning´un problema, adem´as de que puede comunicar con un pc o port´atiles con diversos tipos de protocolo de comunicaci´on, como RS-232, USB, Ethernet y otros. Tiene diversos tipos de pines para el control de dispositivos de entradas y salidas anal´ogicas y digitales, ofreciendo grandes posibilidades para este trabajo. Esta tarjeta puede ser controlada por cualquier tipo de sistema (ordenador, port´atiles, tabletas y m´oviles), y puede utilizar cualquier sistema operativo. Para los desarrollos de la presente se ha probado en la versi´on m´as reciente de Micro- soft, Windows 8. La tarjeta es de de f´acil programaci´on y, aunque en un principio fue desarrollada para solamente utilizar su software de programaci´on (librer´ıas propias), esta tarjeta es de c´odigo abierto al igual que Arduino.
  • 43. 2.3 Arquitectura de control propuesta 21 2.3. Arquitectura de control propuesta Una vez se dispone del modelo del robot en SimMechanics y Simulink, el siguiente paso es buscar la arquitectura hardware que nos facilite el control del robot. La arquitectura de control que se propone, tras diversos estudios que se comentar´an posteriormente, consiste en una soluci´on basada en microcontrola- dor, que proporciona una forma de control de bajo coste, y que se integra con un software de dise˜no propio (Castejon, Carbone, Prada, y Ceccarelli, 2011) que permite la integraci´on con Matlab y Simulink. En la Figura 2.7 se muestra la soluci´on, en la que un computador comercial se une por USB a un microcontro- lador que gestiona tanto la lectura de los sensores del robot como su actuaci´on a trav´es de un driver de potencia. Figura 2.7: Esquema de control implementado. 2.4. Plataforma hardware: Robot Sidemar El Robot Sidemar (Castejon y cols., 2011) fue creado y dise˜nado como un pro- totipo general que cumpla ciertos requisitos b´asicos que le permitieran su uso como robot se servicios. Su peso debe ser ligero pero a su vez debe ser capaz de resistir todas las fuerzas a las que se vea sometido el robot a lo largo su trabajo. La plataforma experimental se dise˜n´o (Castejon y cols., 2011) para hacer estu- dios sobre la cinem´atica, tanto la cinem´atica directa como la inversa, as´ı mismo un buen estudio sobre la din´amica.
  • 44. 22 Descripci´on del sistema propuesto Entre los trabajos previos (de Tena, 2011) encontramos que dicho peso se mo- del´o mediante el uso de diferentes pesas Figura 2.8. Figura 2.8: Trabajo previo (Estimaci´on de posici´on con del robot sometido a diferentes pesas). Siguiendo con la idea descrita anteriormente, el material utilizado para ha- cer el proyecto mec´anico fue una aleaci´on de aluminio debido a que su peso es muy reducido si lo comparamos con otras estructuras que se encuentran en el mercado y al mismo tiempo una rigidez que facilita el ensamblaje mec´anico del robot, ya que el aluminio es una estructura met´alica dulce de f´acil manejo y ope- raci´on mediante cortes (Peces, 2006). Para explicar la estructura del robot, se explicar´an sus diferentes partes y su uni´on para constituir el robot. 1) Base: La base del robot, Figura 2.9, es la parte empleada para sostener el peso del mismo y es la encargada de mantenerlo inm´ovil en una posici´on fija inicial. La base del robot puede ser dividida en dos, una que posee un peso con- siderablemente mayor en comparaci´on con todo el conjunto del robot destinada a soportar las fuerzas que act´uan sobre ´el, principalmente la de gravedad, y otra parte que poseen un mecanismo de sujeci´on a una estructura o cuerpo inm´ovil.
  • 45. 2.4 Plataforma hardware: Robot Sidemar 23 Figura 2.9: Base del robot Sidemar. La base contempla una estructura de sujeci´on del robot que permite fijar la parte del robot a cualquier estructura o superficie plana, teniendo en cuenta las restricciones de giro para el primer eslab´on que no podr´a girar totalmente (360 grados), dificultando as´ı las pruebas de control en el robot. La base aloja un con- junto motor-reductor en el que se acopla el primer eslab´on o eslab´on inferior del robot. 2) Eslab´on Inferior: Es un eslab´on formado por 4 tubos de aluminio unido por placas circulares de aluminio en sus extremos. Su extremo inferior va total- mente acoplada al motor DC de la base y en su extremo superior se encuentra el conjunto motor-reductor que hace de enlace con el segundo eslab´on. Como se puede percibir en la Figura 2.10, el brazo est´a hecho de una aleaci´on de aluminio, pero en una estructura tubular en vez de una maciza que proporciona una reducci´on de peso pero conservando un rigidez estrutural adecuada.
  • 46. 24 Descripci´on del sistema propuesto Figura 2.10: Primer Eslab´on del robot Sidemar. 3) Eslab´on superior: Al igual que el anterior, este eslab´on (Figura 2.11)tambi´en est´a hecho de una estructura de aleaci´on de aluminio y fue construido con es- tructura tubular para reducir el peso del robot. El eslab´on se encuentra acoplado a la reductora situada en el extremo superior del primer eslab´on y su final queda libre. Sobre ´el se centrar´an la mayor´ıa de los estudios, ya que marcar´a el alcance total del robot y definir´a su ´area de trabajo. Figura 2.11: Segundo Eslab´on del robot Sidemar. Despu´es del ensamblado de los tres componentes (base, eslab´on inferior y eslab´on superior) se obtiene un sistema articulado de dos grados de libertad,
  • 47. 2.5 Sistemas software involucrados 25 con dos eslabones y dos articulaciones de rotaci´on. En la Figura 2.12 se muestra el ensamblado final del robot. Figura 2.12: Robot Sidemar. 2.5. Sistemas software involucrados Para el desarrollo del trabajo a sido necesario trabajar con varias platafor- mas software, interconect´andolas entre s´ı para conseguir la integraci´on final en Matlab y Simulink. A continuaci´on se describen estas herramientas. 2.5.1. AutoCad El AutoCad es un software gr´afico de CAD (Computer-Aided Design) o en castellano, Dise˜no Asistido por Computador, que aparte de ser un software pa- ra el dise˜no por ordenador, es una forma de modelar sistemas o cualquier tipo de objeto. Con ´el se puede investigar y probar ideas diferentes para implemen- tar un sistema. El AutoCad Figura 2.13 fue desarrollado por la empresa Auto- Desk que mantiene los derechos de no solamente este software, sino de diversos otros que se encuentran con el logotipo de esta compa˜n´ıa. Este software est´a en constante evoluci´on, existiendo actualizaciones anuales. Cada nueva versi´on va
  • 48. 26 Descripci´on del sistema propuesto desarrollando nuevas herramientas gr´aficas o comandos nuevos para facilitar a los ingenieros y proyectistas la elaboraci´on de nuevas funcionalidades en sus proyectos (de Castro, 2013). Figura 2.13: Logotipo de AutoDesk. Hoy en d´ıa es el software m´as aceptado por los ingenieros y proyectistas de todo el mundo, y es esne˜nado en muchas universidades. Al igual que otros programas de Dise˜no Asistido por Ordenador (DAO), AutoCad Figura 2.14 ges- tiona una base de datos de entidades geom´etricas (puntos, l´ıneas, arcos, etc) con la que se puede operar a trav´es de una pantalla gr´afica en la que se muestran ´estas, el llamado editor de dibujo (Morales, 2013). La interacci´on del usuario se realiza a trav´es de comandos, de edici´on o dibujo. AutoCad puede usarse para hacer proyectos tanto en 2D como en 3D aun- que su uso principal es en 2D para proyectos de construcci´on civil. Su formato de salida es un archivo .dwg, que es un tipo de archivo propio del sistema, aun- que para facilitar su intercambio con otras aplicaciones, la empresa AutoDesk cre´o un sistema de archivos en .dxf para que quien no sea usuario de Auto- Cad pueda utilizar sus dibujos en cualquier plataforma de dise˜no asistido por computador (Morales, 2013).
  • 49. 2.5 Sistemas software involucrados 27 Figura 2.14: Logotipo de AutoCad. Para el presente proyecto el software AutoCad ha ayudado en la confecci´on y ensamblaje del mismo. El software permite dise˜nar sistemas id´enticos a la reali- dad, con dimensiones, colores, con resistencias f´ısicas (mec´anicas) de los mate- riales, lo que fue de gran ayuda para el dise˜no y comprensi´on del robot Sidemar. 2.5.2. Inventor Para este proyecto, el software AutoCad ayud´o en la confecci´on y ensam- blaje final del robot. En una segunda etapa, para conseguir un modelo real del robot, se complet´o el modelo del robot con la herramienta Inventor Fusion Pro- fessional Figura 2.15 de la compa˜n´ıa AutoDesk, que permit´ıa realizar ya unas primeras simulaciones sobre la cinem´atica y est´atica del robot. Figura 2.15: Logotipo de Inventor. Mientras AutoCad fue cocebido para ayudar en la estructuraci´on de casas,
  • 50. 28 Descripci´on del sistema propuesto terrenos, pisos, edificios y todo lo referente al mundo de la construcci´on civil, Inventor Fusion se cre´o con la idea de trabajar con sistemas mec´anicos b´asicos o complejos en general: desde dibujar un tornillo o una tarea sencilla hasta siste- mas muchos m´as complejos como un motor entero, incluyendo todas sus partes. Tambi´en tiene la posibilidad de trabajar con sistemas que utilizan fluidos para la transmisi´on de movimientos. Una ventaja de Inventor es que tambi´en permi- te hacer c´alculos de resistencias, fricciones, simular la cinem´atica y por ´ultimo tambi´en la cinem´atica (Morales, 2013). En la Figura 2.16 se puede ver la interface del Inventor. Figura 2.16: Interface del programa Inventor. La interface gr´afica del Invetor es muy similar a la del AutoCad, cambiando solo algunas herramientas ya que trabaja con otro tipo de sistemas m´as amplios. Pero sobre la base de la pir´amide de este programa se encuentra un software totalmente id´entico al de AutoCad. Si una persona sabe dibujar con AutoCad seguramente no tendr´a problemas en hacer un dise˜no en Inventor. Eso s´ı, el software cambia su estructura cuando se empiezan a detallar m´as los dise˜nos de las piezas, siendo entonces necesario estudiar sus herramientas m´as avanzadas. En el pr´oximo cap´ıtulo, se explicar´an las herramientas que se han utilizado para dibujar el Robot Sidemar y luego se detallar´an cada una de las partes de dicho sistema.
  • 51. 2.5 Sistemas software involucrados 29 2.5.3. Matlab Matlab basa su nombre en su concepci´on original, MATrix LABoratory, o en castellano Laboratorio de Matrices. Fue dise˜nado para c´alculos num´ericos con vectores y matrices. Permite ser utilizado para trabajar con n´umeros escalares (reales o complejos), con cadenas de caracteres y con otras estructuras de in- formaciones m´as complejas (de Jalon, Rodriguez, y Vidal, 2005). Con Matlab, Figura 2.17, se pueden realizar diversos tipos de c´alculos matem´aticos y f´ısicos, pero su gran ventaja consiste en la posibilidad de trabajar con las denominadas Toolbox, que son cajas de herramientas que sirven para alg´un tipo espec´ıfico de c´alculo en diversas ramas de la ingenier´ıa y de las ciencias en general. Figura 2.17: Logotipo del programa Matlab. Dentro del Matlab se encuentran multitud de herramientas (Toolbox) que son utilizados en muchos ´ambitos, por ejemplo: sistemas qu´ımicos (c´alculos f´ısico-qu´ımicos u org´anicos), biol´ogicos (c´alculos de colonias de c´elulas), siste- mas para dimensionamiento de motores, aviones o VANTS (Veh´ıculos A´ereos no Tripulados), l´ogicas de control como PID, Fuzzy, algoritmos gen´eticos o he- rramientas para modelar sistemas completos (como las que van a ser utilizadas en este trabajo) (Houcque, 2005). Una de las facultades m´as atractiva de Matlab es la posibilidad de realizar
  • 52. 30 Descripci´on del sistema propuesto gr´aficos en dos y tres dimensiones. Matlab, aparte de su lenguaje propio, permi- te utilizar los lenguajes de programaci´on como C/C++ o Fortran. Hace muchos a˜nos que en Matlab se ha incorporado un acelerador JIT (Just in Time), que me- jora la velocidad de ejecuci´on de los ficheros sus ficheros con extensi´on *.m. La Figura 2.18 muestra el entorno de trabajo de Matlab. Figura 2.18: Entorno de trabajo de Matlab. 2.5.4. SimMechanics SimMechanics es un programa incluido en Simulink que ayuda a la creaci´on de sistemas mec´anicos tridimensionales sin tener que hacer c´alculos o ecuacio- nes espec´ıficas para su creaci´on (Houcque, 2005). En la Figura 2.19 se puede ver un ejemplo del entorno SimMechanics. En SimMechanics se pueden encontrar muchas herramientas para diversas
  • 53. 2.5 Sistemas software involucrados 31 tareas y trabajos que permiten la simulaci´on de sistemas con m´ultiples cuerpos, articulaciones, y restricciones. SimMechanics ayuda a la construcci´on y estudio de modelos 3D y sus din´amicas. Una de sus ventajas, empleadas en este trabajo, es que se puede importar cualquier tipo de sistema o dise˜no elaborado en plataformas CAD/CAM ex- ternas. En este caso se ha utilizado para la importaci´on del robot realizada en Inventor. Figura 2.19: Entorno SimMechanics.
  • 54. 32 Descripci´on del sistema propuesto
  • 55. Cap´ıtulo 3 Modelado CAD del robot Sidemar En este cap´ıtulo se describir´an los pasos seguidos para el modelado CAD del robot Sidemar, explicando el dise˜no de cada parte del robot, sus dimensiones y sus c´alculos cinem´aticos b´asicos. Se realizar´a una descripci´on detallada de tal manera que permita su aplicaci´on a otros tipos de estructuras rob´oticas. 3.1. Modelado del robot Sidemar con AutoCad 2013 Para modelar un robot hay diversos tipos de software que permiten reali- zar esta tarea y que facilitan el dise˜no y modelado de sistemas fijos o m´oviles, como Sketchup, Solidworks y SolidEdge, aparte de los utilizados en este traba- jo. Para realizar el dise˜no y modelado del robot se van a emplear dos entornos diferentes: primero el AutoCad y posteriormente Inventor, que pertenecen a la misma plataforma de programaci´on (AutoDesk). Estos paquetes software fue- ron escogidos principalmente por la facilidad de importar dise˜nos entre ambos y, adem´as, por tener en com´un muchas de sus herramientas de trabajo. De los paquetes estudiados, solo Solidworks e Inventor pueden exportar sus dise˜nos a la herramienta SimMechanics de Matlab, que es uno de los objetivos de este
  • 56. 34 Modelado CAD del robot Sidemar trabajo. Para la parte de creaci´on, dimensionado y ensamblaje del Robot Side- mar se emple´o el AutoCad, emple´andose el Inventor para el estudio de an´alisis cinem´aticos y est´aticos. El robot Sidemar representa un robot de servicio, siendo una posible utilidad el ayudar a personas discapacitadas acercandoles objetos. El robot Sidemar tiene dos grados de libertad, constituidos por dos aritculaciones ortogonales. Ambos grados son rotativos de configuraci´on tal que el primer eslab´on gira alrededor de un eje horizontal, y el segundo eslab´on gira alrededor de un eje vertical. Su arquitectura constructiva es modular, permitiendo la ampliaci´on del robot, Su construcci´on tubular proporciona un peso estructural por debajo de robots si- milares que se encuentra hoy en d´ıa con estructura r´ıgida (Castejon, Carbone, Prada, y Ceccarelli, 2010). A continuaci´on se detalla el modelado de la estructura del robot Sidemar y su ensamblado, y posteriormente se explicar´an los trabajos de parametrizaci´on del robot y los primeros estudios realizados sobre Inventor. 3.1.1. Base del sistema o bancada El eslab´on tierra o base del robot corresponde a la base que sirve de sus- tentaci´on del robot. Este eslab´on, por algunas reglas que se detallar´an cuando se comente su modelado cinem´atico, es el eslab´on numero 0 o base y no tie- ne movimiento. Este eslab´on ser´a tomado como sistema de referencia para las coordenadas del robot, que siempre ser´a referenciando desde la base hasta el extremo del robot. En los sucesivos c´alculos de denominar´a como punto P0 y tendr´a como coordenadas [0, 0, 0]. El robot presenta una estructura diferente en su base con respecto a muchos
  • 57. 3.1 Modelado del robot Sidemar con AutoCad 2013 35 robots que se encuentran en el mercado. La base del robot est´a asentada en una estructura donde el eje del primer eslab´on se ensambla perpendicular al mismo, siendo su giro en un plano vertical. La base permite su sujeci´on a una estructura o superficie plana mediante elementos auxiliares. En la Figura 3.1 se muestra el dise˜no realizado para la base. Figura 3.1: Modelado de la base en AutoCad. En el dise˜no se ha situado un cilindro que representa el motor y que atra- viesa la base, en cuyo extremo se ensamblar´a la reductora a la que se acopla el primer eje. Para modelar la reductora, que es del tipo Harmonic Drive, se ha realizado solamente un dise˜no estructural externo, representado en la Figura 3.2.
  • 58. 36 Modelado CAD del robot Sidemar Figura 3.2: Modelado de la reductora (Parte externa). 3.1.2. Primer eslab´on (Brazo 1) Este elemento se acoplar´a al eje de la base rotando en el plano vertical, y sobre su extremo superior se acoplar´a el conjunto motor-reductor del segundo brazo. La estructura de este brazo est´a hecha con cuatro barras cil´ındricas de tal forma que permita la reducci´on de peso que conllevar´ıa el hacerla totalmente maciza. En la Figura 3.3 se muestra el resultado final del dise˜no de la pieza en AutoCad. Figura 3.3: Modelado del primer eslab´on en AutoCad.
  • 59. 3.1 Modelado del robot Sidemar con AutoCad 2013 37 Figura 3.4: Dise˜no estructural del primer eslab´on en AutoCad. El brazo se ensambla a la reductora de la base mediante una superficie plana circular que sit´ua al eslab´on de forma perpendicular a la base. La estructura de este eslab´on se cierra con otra superficie plana circular a las barras a la que se acopla otra reductora, dise˜nada de manera an´aloga a la anterior. El dise˜no final queda como se muestra en la Figura 3.5. Figura 3.5: Modelado del Brazo 1 y su respectiva reductora HD.
  • 60. 38 Modelado CAD del robot Sidemar 3.1.3. Segundo eslab´on (Brazo 2) Este eslab´on rota perpendicularmente sobre el primer eslab´on. Este eslab´on va ensamblado, por tanto formando un ´angulo de 90 grados con respecto al eje del primer eslab´on y est´a dise˜nado de la mismo forma que el anterior, aunque con diferentes dimensiones. En la Figura 3.6 se puede ver el resultado final del dise˜no de este brazo. Figura 3.6: Dimensiones y estructura del segundo eslab´on. En la Figura 3.7 se puede ver el dise˜no final del robot con sus respectivos eslabones, motores y sensores tipo encoder. El dise˜no fue realizado de la forma m´as exacta posible, tal y como se aprecia en la Figura 3.7, empleando las mismas dimensiones y materiales en su dise˜no.
  • 61. 3.2 Modelado del Robot Sidemar con Inventor 2013 39 Figura 3.7: Robot Sidemar y su dise˜no en AutoCad. 3.2. Modelado del Robot Sidemar con Inventor 2013 La segunda fase del modelado consisti´o en importar el modelo en Inven- tor. Inventor permite incluir los par´ametros est´aticos y din´amicos del robot y realizar simulaciones sobre ´el mismo. Si bien permite el dise˜no de sus partes directamente sin la necesidad del dise˜no previo con AutoCad, se han separado ambas partes considerando que los planos del robot pueden haberse realizado en AutoCad para su fabricaci´on. Inventor permite ajustar par´ametros de dise˜no, guard´andolos conjuntamente con el propio dise˜no, y permite hacer simulacio- nes que ayuden al ajuste de dichos par´ametros (STMicroelectronics, 2013). En este apartado se va a completar el dise˜no de la estructura del robot consi- derando esfuerzos, sea el de peso, compresi´on, presi´on o efectos de la gravedad. Ser´an descritos todos los pesos de cada parte del sistema, y que tipo de pro- blemas pueden ocasionar estos pesos en los eslabones o en la base. Tambi´en se hallar´an c´alculos de fuerzas, pares y momentos y se probar´an mediante simula- ciones.
  • 62. 40 Modelado CAD del robot Sidemar Con Inventor se podr´a estudiar realizar estudios iniciales de dise˜no y an´ali- sis de esfuerzos para el estudio y detecci´on de posibles puntos cr´ıticos. Como ´ultima justificaci´on del uso de Inventor, cabe destacar que est´a totalmente adhe- rido a la idea de exportaci´on de sus dise˜nos a Matlab, lo que no se puede hacer con AutoCad. 3.3. Ensamblado del robot Sidemar en Inventor Es de suma importancia conocer como se realiza el ensamblado con ayuda del software Inventor para que en el cap´ıtulo pr´oximo se puedan entender los procedimientos de la utilizaci´on los modelos de Inventor en SimMechanics de Matlab. A continuaci´on se describen los criterios adoptados para que el pro- cedimiento de ensamblaje del robot para facilitar su uso en Matlab mediante SimMechanics. Para realizar el modelo del robot completo, el proceso parte del dise˜no de cada una de sus partes para posteriormente a˜nadir las restricciones entre ellas de cara a su ensamblaje final. En la Figura 3.8 se ve como se van a˜nadiendo cada una de las partes del robot.
  • 63. 3.3 Ensamblado del robot Sidemar en Inventor 41 Figura 3.8: Entorno para an´alisis de tensiones para el robot. A continuaci´on se introducen las restricciones de movimiento de cada uno de los giros. Para conseguir hacer el ensamblaje de los elementos del robot Side- mar se tiene que crear una pantalla de desarrollo de ensamblajes para insertar los diferentes elementos que componen el robot. En la Figura 3.9 se pueden ver las tres piezas importadas en la misma pantalla de trabajo con la cual ser´a en- samblado el robot. Figura 3.9: Conjunto de piezas importadas.
  • 64. 42 Modelado CAD del robot Sidemar Por ´ultimo, se completan las restricciones de movimiento, es decir, que es- tructuras ser´an fijas y cuales ser´an m´oviles. Por ejemplo. En el caso de la uni´on entre la base y el primer eslab´on, Figura 3.10, hay que seleccionar el eje del pri- mer eslab´on como la estructura que va a sufrir rotaciones y el eje de la base como la estructura est´atica o fija. Por ´ultimo, hay que definir el tipo de movimiento que se desea dar a la uni´on, en este caso, se utiliz´o una estructura de uni´on del tipo circular. Figura 3.10: Ensamblaje del primer eslab´on a la base. Procediendo de manera an´aloga con el segundo eslab´on, se completa el en- samblado final del robot. En la Figura 3.11 se muestra el robot completo ensam- blado.
  • 65. 3.4 Estudios del robot Sidemar en Inventor 43 Figura 3.11: Robot Sidemar ensamblado. En la Figura 3.12 se puede ver cual es el centro de gravedad del robot real, completando el sistema de ensamblaje. Figura 3.12: Centro de gravedad del robot Sidemar. 3.4. Estudios del robot Sidemar en Inventor Para la verificaci´on del correcto dise˜no del robot y comprobar la implemen- taci´on realizada en Inventor, se realizan las pruebas de esfuerzo descritas en el trabajo previo (de Tena, 2011).
  • 66. 44 Modelado CAD del robot Sidemar Para iniciar un an´alisis de sistemas por esfuerzos en general se va a utilizar la herramienta de ”An´alisis de tensi´on” incluida en el men´u ”Entornos”, Figu- ra 3.13. Estas herramientas permiten realizar an´alisis de tensiones, deformacio- nes y c´alculo de par (Leal, 2014). Los par´ametros introducidos son los del robot real, pero se podr´ıan introducir otros par´ametros para realizar simulaciones con otras caracter´ısticas diferentes. Figura 3.13: Herramientas de Inventor para an´alisis estructural. 3.4.1. Estudios en el primer eslab´on El brazo 1 se encuentra sometido a la fuerza ejercida por el brazo 2, que se ha considerado para una primera simulaci´on como de 10N (de Tena, 2011). Por lo tanto el brazo 2 (superior) ejerce un par de torsi´on sobre el brazo 2 (inferior) que se puede calcular, teniendo en cuenta la distancia al extremo final del brazo: M=10 N x 200 mm=2000Nm En la Figura 3.14 se muestra el efecto de la fuerza, que pr´acticamente no deforma dicho eslabl´on.
  • 67. 3.4 Estudios del robot Sidemar en Inventor 45 Figura 3.14: Fuerza de 10 N sobre el primer eslab´on. A continuaci´on se a˜nade la gravedad de (9,8 m/s) al brazo 1, manteniendo el par anteriormente aplicado. En este caso las deformaciones son mayores, tal y como se muestran en la Figura 3.15 Figura 3.15: Flexi´on resultante en el primer eslab´on a˜nadiendo gravedad. En la imagen anterior, Figura 3.15 puede verse, en color rojo, cuales son los puntos sobre los que aparece la m´axima tensi´on en el eslab´on, que son los pun- tos susceptibles de ser reforzados si fuera necesario. En amarillo se muestran puntos de tensiones intermedias, que requieren menos atenci´on. Como se pue- de ver, la base de este eslab´on es la parte donde las tensiones son mayores. En la figura aparece superpuesta es la Curva de Von Mises, que es un criterio muy utilizado en teor´ıa de estructuras para el dimensionamiento de las mismas, de tal forma que cumpla los requisitos b´asicos de flexi´on y tensi´on (V., 2012). Los
  • 68. 46 Modelado CAD del robot Sidemar c´alculos de las tensiones principales que aparecen sobre el robot pueden reali- zarse con las siguientes expresiones, que son aplicadas por Inventor: σV M = √ (σ1−σ2)2+(σ2−σ3)2+(σ3−σ1)2 2 Como criterio de fallo el´astico se emplea la f´ormula: E = 1 6G × [(σ1−σ2)2+(σ2−σ3)2+(σ3−σ1)2 2 ] La tensi´on de Von Mises se calcula a partir de tensiones principales del ten- sor tensiones en un punto de un s´olido en deformaci´on, siendo σ1, σ2, σ3 las ten- siones principales y el criterio de fallo el´astico se obtiene a partir de la energ´ıa de distorsi´on en funci´on de las tensiones principales como se ve en la segunda expresi´on. Estos valores tienen que tenerse en cuenta a la hora de dise˜nar la es- tructura (Armando, 2009). En la Figura 3.16 se puede ver el primer eslab´on tras un giro de 90 grados sometido al mismo esfuerzo de 10 N producido por el segundo m´as la gravedad de 9,8 m/s2. La imagen presenta puntos de tensi´on m´axima en la base de la es- tructura, al principio y final de los tubos (en color verde). El an´alisis estructural sirve para hacer un estudio inicial del dise˜no del robot: por una parte se asegura que la estructura se soporta y por otro lado se pede situar el robot en posiciones cr´ıticas para ver si el dise˜no es el adecuado. En las gr´aficas de tensi´on y defor- maci´on interesa ver los valores m´aximos de deformaci´on y tensi´on provocados. Si la tensi´on se acerca a la tensi´on de rotura, pueden aparecer problemas.
  • 69. 3.4 Estudios del robot Sidemar en Inventor 47 Figura 3.16: Resultado de la fuerza de 10 N m´as la acci´on de la gravedad. 3.4.2. Estudios en el segundo eslab´on El segundo eslab´on, al contrario que el primero, se ve sometido solamente a la acci´on de la gravedad, ya que no se han realizado pruebas de carga, por lo que presenta menos problemas. En la Figura 3.17 se muestran los resultados del an´alisis. Figura 3.17: Acci´on de la gravedad sobre el segundo eslab´on. En la Figura 3.18 se puede mirar los principales puntos de m´axima tensi´on de este eslab´on debido a la gravedad, siendo la posici´on m´as cr´ıtica para este es- lab´on la posici´on inicial (en la vertical), haciendo un ´angulo recto con el primer eslab´on, tal y como se puede ver en la gr´afica de aplicaci´on del criterio de Von Mises.
  • 70. 48 Modelado CAD del robot Sidemar Figura 3.18: Resultado de la acci´on de la gravedad sobre el brazo 2. 3.4.3. Estudios en la base La base del robot es la que va a soportar toda la carga de los dos eslabones. Ello har´a que el primer motor deba propocionar un par un m´as alto que el se- gundo motor. El primer motor soporta el peso del segundo eslab´on y el del suyo propio. Aplicando una carga de 18 N, se puede calcular la acci´on ejercida por los dos eslabones (de Tena, 2011). En la Figura 3.19 se muestran los resultados, donde se observa que las tensiones que la base tiene que soportar son casi nulas. Una base como esta, no tendr´a muchos problemas para soportar toda la carga a la que se vea sometida. Figura 3.19: Resultado de las fuerzas en la base.
  • 71. 3.4 Estudios del robot Sidemar en Inventor 49 3.4.4. Estudio de conjunto del Robot Sidemar Una vez analizada cada parte del robot por separado, se procede a analizar el sistema completo, sometido a todas las fuerzas consideradas anteriormente. En la Figura 3.20, el efecto de las fuerzas utilizadas y la acci´on de la gravedad no ofrecen tensiones m´aximas suscepeptibles de ser consideradas, apareciendo el criterio de Von Misses constante a lo largo del brazo, lo que comprueba el co- rrecto dimensionado del robot. En segundo lugar, como se puede apreciar en la barra de intensidades de presi´on (barra en colores del lateral izquierda), no aparecen puntos cr´ıticos sig- nificativos. Figura 3.20: Resultado de las fuerzas aplicadas sobre el robot Sidemar.
  • 72. 50 Modelado CAD del robot Sidemar
  • 73. Cap´ıtulo 4 Integraci´on del modelo CAD con Matlab y Simulink En este cap´ıtulo se describen los pasos necesarios para la integraci´on final del modelo CAD del robot en Matlab y Simulink con SimMechanics y se expli- ca c´omo se ampl´ıa dicho esquema de Simulink para completar el esquema de control que act´ue tanto sobre el robot real como sobre su modelo en SimmMe- chanics. 4.1. Consideraciones iniciales Dentro de SimMechanics existe una herramienta para importar el dise˜no desde otras plataformas CAD. Esta herramienta permitir´a hacer la importaci´on del robot Sidemar con todos los par´ametros cinem´aticos y din´amicos existentes en el dise˜no CAD del Inventor. Para trabajar en el entorno SimMechanics es necesario una traducci´on de los
  • 74. 52 Integraci´on del modelo CAD con Matlab y Simulink dise˜nos CAD/CAM al entorno Simulink. En la Figura 4.1 se representa el pro- ceso completo de la importaci´on. Primero: se pasa el dise˜no del CAD a un formato XML para que pueda ser le´ıdo por SimMechanics (ya que esta es el ´unico formato de intercambio v´alido) mediante diagrama de bloques. Segundo: generar un archivo con formato MDL que ser´a el que se pueda leer y manipular en Simuink (V., 2012). Figura 4.1: Pasos para importar dise˜nos CAD en SimMechanics. Como se ve en la figura anterior hay un bloque que se llama Traductor CAD- XML. Dentro de Simulink, se hace la traducci´on del modelo CAD al lenguaje XML, generando un fichero de texto que contiene la informaci´on del modelo bajo etiquetas y par´ametros. Matlab traduce los par´ametros y caracter´ısticas del modelo CAD en bloques de SimMechanics.
  • 75. 4.2 Descarga e instalaci´on SimMechanics 53 4.2. Descarga e instalaci´on SimMechanics Un problema importante es que los software Inventor y Matlab no tienen una librer´ıa espec´ıfica para que el dise˜no pueda ser importado, pero s´ı proporcio- na soporte para realizar la importaci´on. En primer lugar, fue necesario trabajar con las dos versiones m´as recientes de ambos software, utiliz´andose la versi´on R2013a de Matlab y la versi´on de AutoDesk Inventor Fusion 2013. En un segundo lugar se necesita descargar la versi´on compatible del traduc- tor de formatos de la p´agina web de Matlab (Matlab, s.f.), donde se puede en- contrar el paquete a descargar de acuerdo con las versiones que se va a utilizar para Matlab e Inventor. Los tres software tienen que estar en consonancia. El software descargado se puede instalar con la ayuda del instalador de pa- quetes de Matlab y establecer el enlace con Inventor a trav´es del comando sm- link linkinv. Por ´ultimo debe comprobarse desde Inventor que la conexi´on con Matlab ha sido realizada correctamente. En la Figura 4.2 se observa una conexi´on exitosa. Figura 4.2: Conexi´on exitosa entre Simulink e Inventor.
  • 76. 54 Integraci´on del modelo CAD con Matlab y Simulink 4.3. Exportaci´on del dise˜no del CAD a SimMechanics Los pasos necesarios para exportar el dise˜no CAD realizado en Inventor son: 1) Asegurar la correcta posici´on inicial del robot y que sus restricciones de movimiento son correctas. El robot tiene que estar ubicado en la posici´on inicial (0, 0, 0) porque cuando SimMechanics importe el sistema se importar´a con la misma configuraci´on inicial (extremo del eslab´on 2 en la posici´on (301, 265, 0) y el extremo del primer eslab´on en la posici´on vertical (0, 265, 0). Como se puede ver en la Figura 4.3, aparecen dos tipos de coordenadas, una es la coordenada inicial del programa Inventor, que sirve solamente para referenciar el origen del dise˜no, y el segundo sistema de coordenadas, que constituye los ejes de coorde- nadas de movimiento del robot, al que se referencian las posiciones del mismo. Este sistema de coordenadas Figura 4.3 se hizo de acuerdo a los estudios de Denavit-Hartenberg, que se detallar´an en el pr´oximo cap´ıtulo. Figura 4.3: Sistemas de coordenadas en Inventor. 2) Una vez realizado el proceso anterior, se procede a salvar el trabajo en el formato standard STL. 3) A continuaci´on se procede a exportar el dise˜no de Inventor a formato
  • 77. 4.4 Modelo exportado resultante 55 XML, quedando listo para ser importado desde Matlab. 4) El siguiente paso es abrir Matlab y teclear en la l´ınea de comandos la sentencia mech import con la direcci´on donde se encuentran los archivos (STL y XML). Creando el modelo en Simulink. 5) Por ´ultimo, se debe comprobar que la importaci´on ha sido realizada co- rrectamente, tal y como se muestra en la Figura 4.2. Figura 4.4: Robot Sidemar en SimMechanics. 4.4. Modelo exportado resultante Despu´es de hacer todos los pasos anteriores, se procede a explicar los resul- tados del modelo exportado. Para poder llevar a cabo una simulaci´on se hace necesario completar algunos detalles con respecto a la cinem´atica y din´amica del robot. En la Figura 4.5 se muestran los dos bloques exportados de SimMechanics: first generation, con los par´ametros geom´etricos del robot, y second generation, que incluye los par´ametros din´amicos del robot.
  • 78. 56 Integraci´on del modelo CAD con Matlab y Simulink Figura 4.5: Bloques resultantes en SimMechanics tras el proceso de exportaci´on. Para implementar el modelo del robot, se trabaja con la segunda generaci´on, para tener un modelo que incluya cinem´atica, din´amica, sensores y actuadores. Dentro de la carpeta segunda generaci´on, aparecen los 7 bloques mostrados en la Figura 4.6. Estos bloques son: Figura 4.6: Bloques b´asicos generados en SimMechanics. Primero: Body (Cuerpos). En esta biblioteca se encuentra elementos que se utilizan para modelar cualquier sistema mec´anico (Ramos, 2008). El primero de estos elementos, los Body (Cuerpos), permiten modelar cuerpos con caracter´ısti- cas definidas como masa, centro de gravedad, momentos de inercia, posici´on, orientaci´on y coordenadas propias. Otro bloque que aparece son los Ground (Tie- rra). Este bloque representa un punto fijo en la tierra que servir´a como la base de referencia para ensamblar los elementos del sistema, sean m´oviles o no. Y por
  • 79. 4.4 Modelo exportado resultante 57 ´ultimo se va a hablar de la otra herramienta que es el Machine Environment, don- de se conecta el bloque Ground. Aqu´ı es donde se configuran las propiedades del entorno donde trabajar´a el sistema mec´anico. Caso de que no se hayan importado todos los par´ametros, ser´a necesario edi- tar los bloques y completar su propiedades, as´ı, en la Figura 4.7 se a˜nade la masa a un elemento tipo Body. Figura 4.7: Par´ametros del elemento tipo Body para los eslabones. Segundo: la Biblioteca de Joints (Ejes). Contiene los bloques que representan los movimientos relativos entre los cuerpos que son conocidos tambi´en como los grados de libertad. Como se percibe en la Figura 4.8, se encuentran diversos tipos de articulaciones. En el caso del Robot Sidemar, se ir´a a destacar solamente las juntas rotativas (porque no tiene juntas prism´aticas) o en este caso Revolute. Esta es una junta que une dos elementos en uno solo, es decir, une dos elementos en un ´unico punto de contacto, ocasionando as´ı un grado de libertad. El robot tiene dos juntas de este tipo.
  • 80. 58 Integraci´on del modelo CAD con Matlab y Simulink Figura 4.8: Bloque Joint. Tercero: Librer´ıa Sensors and Actuators (Sensores y Actuadores). Esta biblio- teca contiene los bloques que miden los giros producidos en los ejes del robot (Encoders) e inicializan los movimientos de los cuerpos y las articulaciones (Ac- tuators). Sobre estos bloques actuar´an las se˜nales que har´an funcionar el robot. Entre estos bloques se encuentran: Body Actuator, Joint Actuator, Body Sensor, Joint Sensor y Joint Initial Condition, mostrados en la Figura 4.9. Figura 4.9: Bloques de sensores y actuadores. 4.5. Pruebas del modelo del robot Sidemar en SimMche- nics Tras el desarrollo de los pasos anteriores se prepararon unas primeras prue- bas para verificar el funcionamiento del modelo importado. La primera de ellas
  • 81. 4.5 Pruebas del modelo del robot Sidemar en SimMchenics 59 consist´ıa en dar ´ordenes de movimiento al robot en cadena abierta, para compro- bar la coherencia de la estructura importada y que todos los bloques funcionan de manera adecuada. Para ello fue necesario a˜nadir los bloques que generan las se˜nales sobre los actuadores, en este caso, una constante. En la Figura 4.10 se muestran los bloques a˜nadidos: sliders o potenci´ometros. Figura 4.10: Diagrama de bloques en SimMechanics con sliders. Para el correcto funcionamiento, el bloque joint necesita referencias en veloci- dad y aceleraci´on, con lo que hay que introducir las correspondientes derivadas. En la Figura 4.11 se muestra el efecto de realizar diferentes secuencias de movi- mientos con este primer control b´asico. Figura 4.11: Prueba del modelo en SimMechanics mediante el uso de sliders.
  • 82. 60 Integraci´on del modelo CAD con Matlab y Simulink
  • 83. Cap´ıtulo 5 C´alculos cinem´aticos sobre el robot Sidemar Se denomina an´alisis cinem´atico de un robot manipulador al estudio de las configuraciones geom´etricas que puede adoptar un robot como consecuencia de su movimiento. Excluye a las fuerzas que act´uan sobre ´el como consecuencia de ´este movimiento, que son estudiadas en un posterior an´alisis din´amico con ayu- da de la Jacobiana. En (Barrientos y Balaguer, 2007) pg. 125 se cita: ”interesa por la descripci´on anal´ıtica del movimiento espacial del robot como una funci´on del tiempo, y en particular de las relaciones entre la posici´on y la orientaci´on del extremo final del robot con los valores que toman sus coordenadas articulares” Los estudios cinem´aticos est´an divididos en dos, el primero es el estudio ci- nem´atico directo que es un estudio sobre el cual se debe encontrar la posici´on y orientaci´on del extremo final del robot mediante ayuda de un sistema de re- ferencia inicial. Para esta etapa es importante definir los movimientos de las articulaciones y conocer los par´ametros geom´etricos que componen el robot. El
  • 84. 62 C´alculos cinem´aticos sobre el robot Sidemar segundo estudio es el estudio cinem´atico inverso que consiste en encontrar, co- nocida la posici´on del extremo final del robot, cuales son los ´angulos que deben girar sus articulaciones. En la Figura 5.1 (Barrientos y Balaguer, 2007) se ilustra los problemas cinem´atico en en rob´otica. Figura 5.1: Problemas cinem´aticos en rob´otica. En el presente trabajo se van a hacer todos estos c´alculos mediante la ayu- da del software Matlab-Simulink y mediante una de sus herramientas llama- da Robotics Toolbox creada por Peter Corke para simular entornos cinem´aticos y din´amicos. Esta herramienta se basa en la tabla de Denavit-Hartenberg, que se detallar´a m´as adelante. Esta tabla fue totalmente automatizada para facilitar los c´alculos de las cinem´aticas, permitiendo tambi´en simular las din´amicas de cualquier robot a trav´es de la Jacobiana, as´ı como realizar diferentes pruebas de simulaci´on (Corke, 2013). 5.1. M´etodo de Denavit-Hartenberg Para calcular y resolver los problemas cinem´aticos hay diversas aproxima- ciones y m´etodos num´ericos que permiten encontrar la soluci´on del problema cinem´atico. En este apartado se comentar´a el m´etodo de Denavit y Hartenberg (Corke, 2013). Este m´etodo consiste en representar la geometr´ıa espacial de los
  • 85. 5.1 M´etodo de Denavit-Hartenberg 63 elementos de una cadena cinem´atica de un robot cualquiera mediante la utiliza- ci´on de matrices de transformaci´on homog´eneas b´asicas, logrando describir la relaci´on espacial entre estos elementos. Este m´etodo es el m´as conocido hoy en d´ıa y es muy utilizado por ingenie- ros y estudiantes de muchas universidades. Facilita el estudio de la cinem´atica y existen diversos software para su implementaci´on. Este m´etodo busca la sim- plificaci´on de los c´alculos separando la cadena cinem´atica del robot completo en una serie de transformaciones b´asicas relativas a cada uno de sus eslabones por separado y que solo dependen de la geometr´ıa del elemento en cuesti´on. 5.1.1. Matriz de Denavit-Hartenberg La matriz homog´enea que lleva el nombre de sus autores Jacques Denavit y Richard S. Hartenberg, reduce el problema cinem´atico a encontrar una cade- na de matrices de transformaci´on de 4x4 (siempre son cuatro los par´ametros espec´ıficos de D-H). El n´umero de matrices puede variar dependiendo de la complejidad que tenga un robot, obviamente un robot de seis grados de libertad tendr´a m´as matrices que un robot de dos grados libertad. Al final, proporciona la relaci´on entre la localizaci´on espacial del extremo final con respecto a la refe- rencia (normalmente es la base del robot). Las cuatro matrices de transformaci´on que aparecer´an sobre el robot Sidemar ser´an dos matrices de transformaci´on ho- mog´enea de translaci´on y dos matrices de transformaciones de rotaci´on, (ejes de coordenadas X e Z) (Lab, 2013): Primero: Matriz de translaci´on a lo largo de Z y a una distancia D: Tzd; Segundo: Matriz de rotaci´on alrededor de Z y un ´angulo theta: Rzθ; Matriz de translaci´on a lo largo del eje X y un valor de a: Txa;
  • 86. 64 C´alculos cinem´aticos sobre el robot Sidemar Matriz de rotaci´on alrededor de X y un ´angulo alpha: Rzα. Por lo tanto, se puede escribir el resultado de aplicar las matrices anteriores de la siguiente forma: D − H = Tzd × Rzθ × Txa × Rzα Desarrollando las matrices, se puede establecer: D − H =         1 0 0 0 0 1 0 0 0 0 1 di 0 0 0 1         ×         Cθi −Sθi 0 0 Sθi Cθi 0 0 0 0 1 0 0 0 0 1         ×         1 0 0 ai 0 1 0 0 0 0 1 0 0 0 0 1         ×         1 0 0 0 0 Cαi −Sαi 0 0 Sαi Cαi 0 0 0 0 1         Donde C y S son las funciones seno y coseno. Operando las matrices se ob- tiene como matriz resultado: D − H =         Cθi −SθiCαi SθiCαi aCθi Sθi CθiCαi CθiSαi aSθi 0 Sαi Cαi d 0 Sαi Cαi 1         Con la matriz anterior se puede comprobar que solo cuatro par´ametros son suficientes para el c´alculo de la cinem´atica mediante este algoritmo y para cual- quier robot en cuesti´on con independencia de su complejidad. Otra caracter´ısti- ca importante es que estos par´ametros dependen ´unicamente de la geometr´ıa de los eslabones y del tipo de articulaciones que unen el antecesor con su sucesor.
  • 87. 5.2 Transformaci´on de D-H para el robot Sidemar 65 5.1.2. C´alculo de las matrices de Denavit-Hatenberg Para el c´alculo de las matrices de Denavit-Hatenberg (D-H) es necesario te- ner en cuenta los cuatro par´ametros (a, d, θ y α) necesarios para el c´alculo de sus par´ametros. En primer lugar se encuentra un primer grupo(a, d) que define las relaciones de tama˜nos y posteriormente la forma de cada eslab´on y en segundo lugar se encuentra el segundo grupo (θ y α) que son los ´angulos entre los es- labones. Los par´ametros espec´ıficos para definir la transformada de D-H de un robot gen´erico son los siguientes: 1) a: Es la distancia que existe entre los ejes Zi−1 y Z a lo largo de Xi. Con este par´ametro se computa la longitud del eslab´on en cuesti´on. 2) α: Es el ´angulo existente entre el eje Zi−1 y Zi sobre el plano perpendicular a Xi 3) d: Es la distancia a lo largo del eje Zi−1 desde el origen del sistema Zi−1 hasta la intersecci´on del eje Zi. Este par´ametro se denomina longitud articular debido a que expresa la distancia entre los dos eslabones que se encuentran mar- cados por el tama˜no y forma de la articulaci´on. 4) θ: ´Angulos que forman los ejes Xi−1 y Xi sobre el plano perpendicular a Zi−1. Se denomina ´angulo articular ya que expresa el ´angulo que forman dos eslabones y depende del tipo de articulaci´on. 5.2. Transformaci´on de D-H para el robot Sidemar Antes de proceder con el estudio del robot en Matlab con la ayuda de la Ro- botics ToolBox es necesario tener medidos todos los par´ametros que intervienen.
  • 88. 66 C´alculos cinem´aticos sobre el robot Sidemar Se pueden encontrar diversas metodolog´ıas para determinar los par´ametros de D-H de un robot. Aqu´ı se va a describir la que se consider´o la m´as sencilla de todas. A continuaci´on se definen los pasos dados para calcular los par´ametros. 5.2.1. Numeraci´on de los eslabones y las articulaciones del robot Si- demar Siguiendo el proceso de dise˜no del robot comentado anteriormente, se nu- meran todos los eslabones del robot partiendo de la base del sistema (que se considera como eslab´on) y que se define como el eslab´on n´umero cero. A con- tinuaci´on se asigna el n´umero uno para el primer eslab´on, y el dos al segundo eslab´on. El extremo del robot no cuenta en esta numeraci´on. A continuaci´on hay que fijar los ejes que componen el robot al igual que se hizo con los eslabones. De esta forma se asigna el n´umero uno al primer grado de libertad del sistema y el n´umero dos al segundo grado de libertad. Para construir los par´ametros que caracterizan el robot, la q significa que es- te es un eje articulado rotativo y una d es un eje articulado prism´atico. En la Figura 5.2 se ve que el robot es de articulaci´on rotativa, no existiendo ninguna prism´atica. Figura 5.2: Sentido de giro en los dos ejes.
  • 89. 5.2 Transformaci´on de D-H para el robot Sidemar 67 5.2.2. Definici´on de los ejes sobre el robot Sidemar A continuaci´on hay que situar en las articulaciones los ejes de cada eslab´on. Primero, se sit´uan todos los ejes Z seg´un el sentido de giro y el resto de ejes se rigen por la regla de la mano derecha. (Figura 5.3). Posteriormente se determina las distancias que hay entre un eslab´on y otro. (301 mm y 265 mm respectiva- mente). Figura 5.3: Definici´on de ejes. Finalmente con todos estos datos detallados, se pueden llenar los campos necesarios para hacer la tabla de D-H del robot. En la Tabla 5.1 se encuentra con todas las especificaciones anteriores (calculadas y explicadas). Par´ametros Denavit Hartenberg Articulaci´on d (mm) θ 0 a (mm) α 0 1 0 θ1 0 pi/2 2 d2 θ2 a2 0 Tabla 5.1: Par´ametros D-H del robot Sidemar.
  • 90. 68 C´alculos cinem´aticos sobre el robot Sidemar 5.2.3. C´alculo de la cinem´atica directa del robot Sidemar 5.2.3.1. Mediante Matlab Una forma de calcular la cinem´atica de un robot ser´ıa mediante el uso directo de comandos de Matlab, sin la utilizaci´on de la Robotics Toolbox de Peter Corke. Con ello se podr´ıa comprobar los valores de dise˜no del robot y visualizarlos, y comprobarlos con los obtenidos utilizando exclusivamente comandos de Matlab sin incluir los de la Toolbox. Los algoritmos implementados en Matlab se mues- tran en los anexos A.1 y A.2. La salida de estos algoritmos implementados proporciona la matriz de D-H del primer eslab´on (Tabla 5.2.) y del segundo eslab´on (Tabla 5.3). La Tabla 5.4 y Tabla 5.5 muestran el producto de ambos eslabones para encontrar la cinem´atica directa del robot. Matriz Eslab´on 1 Cos θ1 0 Sin θ1 0 Sin θ1 0 -Cos θ1 0 0 1 0 0 0 0 0 1 Tabla 5.2: Matriz D-H para el eslab´on 1. Matriz Eslab´on 2 Cos θ2 -Sin θ2 0 a2 Cos θ2 Sin θ2 Cos θ2 0 a2 Sin θ2 0 0 1 L2 0 0 0 1 Tabla 5.3: Matriz D-H para el eslab´on 2. Sustituyendo los par´ametros por sus valores (c´odigo del anexo A.3.) , se ob- tiene como resultado de los algoritmos, la matriz final mostrada en la tabla 5.5.
  • 91. 5.2 Transformaci´on de D-H para el robot Sidemar 69 D-H eslabones 1 y 2. Cos θ1 Cos θ2 -Cos θ1 Sin θ2 Sin θ1 a2 Cos θ1 Cos θ2 Cos θ2 Sin θ1 -Sin θ1 Sin θ2 -Cos θ1 a2 Cos θ2 Sin θ1 - L2 Cos θ1 Sin θ2 Cos θ2 0 a2 Sin θ2 0 0 0 1 Tabla 5.4: Multipicaci´on de Matrices D-H de los eslabones 1 y 2. Respuesta Final Matriz C (Sustituyendo Valores) 1 0 0 301 0 0 −1 −265 0 1 0 0 0 0 0 1 Tabla 5.5: Matriz Final de D-H para el robot Sidemar. 5.2.3.2. Mediante la Robotics Toolbox Los softwares vistos hasta ahora, Inventor y SimMechanics permiten realizar simulaciones pero no contemplan herramientas ni elementos de c´alculo para es- tudiar la cinem´atica y din´amica a partir del modelo. La herramienta Toolbox Robotics es un software de c´alculo y simulaci´on que permite llevar a cabo los c´alculos necesarios para obtener par´ametros de D-H y calcular jacobianas, con lo que permite realizar el an´alisis cinem´aticos y din´amicos. La Robotics Toolbox es una uni´on de todas las funciones b´asicas para estudiar un robot realizado bajo el software Matlab. Fue creado por Peter Corke en el a˜no de 1995 en su tesis doctoral, con el fin de unificar los estudios de robots. Desde 1995 hasta hoy la herramienta ha ido creciendo y expandi´endose, y ahora se pueden encontrar adem´as de estudios rob´otica industrial, herramien- tas aplicables sobre robots asistenciales, estudios de visi´on para robots, planifi- caci´on de trayectorias y navegaci´on de robots.
  • 92. 70 C´alculos cinem´aticos sobre el robot Sidemar Esta Toolbox tiene muchas funciones que pueden ser utilizadas para los es- tudios de las cinem´atica y din´amica de robots manipuladores y brazos robotiza- dos, como el caso del robot Sidemar. Van a permitir encontrar el jacobiano del brazo y generar trayectorias a seguir por el robot. Todas las funcionalidades de esta Toolbox se encuentran en el manual que puede encontrarse en el enlace de Peter Corke en la red (Corke, 2013). Para realizar los estudios de la cinem´atica directa desde la Robotics Toolbox, hay que crear previamente el entorno en el que se va a trabajar y el robot me- diante ayuda de la tabla anterior de par´ametros de D-H en un formato seg´un indica el manual de la Toolbox. Dicho formato se muestra en la Tabla 5.6. D-H para Robotics Toolbox Articulaci´on θ 0 d (mm) a (mm) α 0 α Offset 1 q1 0 0 pi/2 0 0 2 q2 265 301 0 0 0 Tabla 5.6: Matriz D-H para Robotics Toolbox. Los par´ametros Sigma y Offset aparecen como nuevos. El primero sirve para decir si la articulaci´on con la cual que va a trabajar es prism´atica o rotativa, es decir, definida por cero o uno, el cero significa que es un eje rotativo por defecto y el uno una junta prism´atica. El par´ametro offset define los desfases que hay en la medida del tramo correspondiente, con respecto al ´angulo θ. Pero estos par´ametros adicionales pueden ser excluidos del algoritmo si se desea. A continuaci´on se procede con la creaci´on de los eslabones con sus respecti- vos par´ametros, a partir de la tabla anterior. El c´odigo del algoritmo se muestra en el Anexo A.4. En el algoritmo se utilizan funciones espec´ıficas del propio programa para la
  • 93. 5.2 Transformaci´on de D-H para el robot Sidemar 71 construcci´on del robot. Las m´as importantes son: Funci´on Link: permite la creaci´on de los eslabones (cantidad de eslabones del robot y sus par´ametros). Par´ametro L: uni´on entre dos o m´as eslabones (Links). Comando Twolink: es un comando que sirve ´unicamente para unir dos es- labones, exclusivamente dos a dos. SerialLink, permite a˜nadir eslabones para la visualizaci´on en Matlab. Ficheros mdltwolink y twolink.n, que guardan la estructura geom´etrica y par´ametros del robot. Por ´ultimo el comando fkine calcula la cinem´atica del robot y el comando plot genera la interfaz gr´afica con la geometr´ıa del robot. Como respuesta del algoritmo se obtiene el modelo cinem´atico de las Ta- blas 5.7, 5.8, 5.9 y como modelo final se obtiene la matriz de D-H, la mostrada en la Tabla 5.10, que es igual a la de la Tabla 5.5. obtenida en Matlab sin utilizar la toolbox de Peter Corke, lo que valida los resultados. Cinem´atica Directa (Matriz L) θ = q1 d = 0 a = 0 α = 1,571 θ = q2 d = 265 a = 301 α = 0 Tabla 5.7: Par´ametros relativos a la Cinem´atica Directa. Gravedad X Y Z 0 0 9,81 Tabla 5.8: Par´ametros relativos a la gravedad.
  • 94. 72 C´alculos cinem´aticos sobre el robot Sidemar Base 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Tabla 5.9: Base del sistema (origen). Cinem´atica Directa (Matriz Posici´on Inicial) 1 0 0 301 0 0 −1 −265 0 1 0 0 0 0 0 1 Tabla 5.10: Posici´on inicial.