UNIVERSIDAD POLIT ECNICA DE MADRID … · La rob otica es, sin duda, una de las ramas de la...
Transcript of UNIVERSIDAD POLIT ECNICA DE MADRID … · La rob otica es, sin duda, una de las ramas de la...
UNIVERSIDAD POLITECNICA DE MADRID
ESCUELA TECNICA SUPERIOR DE INGENIERIA Y
DISENO INDUSTRIAL
Grado en Ingenierıa Electronica y Automatica Industrial
TRABAJO FIN DE GRADO
Diseno y construccion de unmanipulador robotico de bajo coste
Autor: Pablo Costas Franco
Tutor: Dr. Basil M. Al-HadithiDepartamento: Ingenierıa Electrica, Electronica Automatica y Fısica
Aplicada
Madrid, Septiembre 2017
UNIVERSIDAD POLITECNICA DE MADRID
ESCUELA TECNICA SUPERIOR DE INGENIERIA Y
DISENO INDUSTRIAL
Grado en Ingenierıa Electronica y Automatica Industrial
TRABAJO FIN DE GRADO
Diseno y construccion de unmanipulador robotico de bajo coste
Vo Bo Autor:Pablo Costas Franco
Vo Bo Tutor:Dr. Basil M. Al-Hadithi
Tıtulo: Diseno y construccion de un manipulador robotico de bajo costeAutor: Pablo Costas FrancoTutor: Dr. Basil M. Al-Hadithi
EL TRIBUNAL
Presidente:
Vocal:
Secretario:
Realizado el acto de defensa y lectura del Trabajo Fin de Grado el dıa ... de.................. de ......... en ............., en la Escuela Tecnica Superior de Ingenierıa yDiseno Industrial de la Universidad Politecnica de Madrid, acuerda otorgarle la CA-LIFICACION de:
VOCAL
SECRETARIO PRESIDENTE
1
Resumen
Este TFG tiene como objetivo el diseno y construccion de un manipuladorrobotico de bajo coste. El enfoque del robot esta orientado a que puedaservir como maqueta de aprendizaje para estudiantes para poder llevar a lapractica los conocimientos que se van adquiriendo a lo largo de la carrera. Setiene a su vez como intencion plasmar los aspectos principales de la roboticaindustrial. La robotica es un campo de la ingenierıa que esta en pleno augey crecimiento. Desde que la introduccion de los ordenadores hizo posible suevolucion y desarrollo, la robotica ha supuesto un referente en la industriapudiendo calificarse su invencion como la tercera revolucion industrial. Desdelos primeros automatas hasta los robots bioinspirados de Boston Dynamics.La robotica es, sin duda, una de las ramas de la ingenierıa que mas disciplinasengloba siendo necesarias el dominio o conocimiento solido en: mecanica,diseno industrial, programacion, electronica e ingenierıa de control.
Abstract
This final degree project has the objective of design and construction of alow cost robotic manipulator. The approach of the robot is faced to whichit could serve like learning mock-up for students to be able to take to thepractice the knowledge acquired during the degree. It has the intention tocapture the main aspects of the industrial robotics. Robotics is a field of theengineering that is in full heyday and growth. Since the introduction of thecomputers, made its evolution and development possible, the robotics therehas supposed a modality in the industry, being able to be considered to bethe third industrial revolution. From the first automatons up to the bioins-pired robots of Boston Dynamics. The robotics are, undoubtedly, one of thebranches of the engineering that includes the most disciplines being neces-sary to domain or at least have a solid knowledge in: mechanics, industrialdesign, programming, electronics and control engineering.
Trabajo fin de Grado Pag. 2
Indice general
1. Introduccion 81.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1. Propuesta de TFG . . . . . . . . . . . . . . . . . . . . 91.1.2. Diagrama Gantt . . . . . . . . . . . . . . . . . . . . . . 10
1.2. Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2. Estado del Arte 122.1. Historia de la robotica . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1. Origen de la palabra robot . . . . . . . . . . . . . . . . 132.1.2. Origen y evolucion de la robotica . . . . . . . . . . . . 142.1.3. Generaciones . . . . . . . . . . . . . . . . . . . . . . . 17
2.2. Definicion y clasificacion de los robots . . . . . . . . . . . . . . 182.2.1. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3. Robots manipuladores . . . . . . . . . . . . . . . . . . . . . . 202.3.1. Estructura mecanica . . . . . . . . . . . . . . . . . . . 202.3.2. Transmisiones . . . . . . . . . . . . . . . . . . . . . . . 232.3.3. Reductores . . . . . . . . . . . . . . . . . . . . . . . . 232.3.4. Actuadores . . . . . . . . . . . . . . . . . . . . . . . . 242.3.5. Sensores internos . . . . . . . . . . . . . . . . . . . . . 252.3.6. Elementos terminales . . . . . . . . . . . . . . . . . . . 272.3.7. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4. Robotica educativa y de bajo coste . . . . . . . . . . . . . . . 292.4.1. Robotica educativa . . . . . . . . . . . . . . . . . . . . 292.4.2. Robotica de bajo coste . . . . . . . . . . . . . . . . . . 29
2.5. Ingenierıa de Control . . . . . . . . . . . . . . . . . . . . . . . 342.5.1. Desarollo de metodos de control . . . . . . . . . . . . . 352.5.2. PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3. Fundamento teorico de un manipulador robotico 383.1. Estudio cinematico directo . . . . . . . . . . . . . . . . . . . . 39
3.1.1. Metodos geometricos . . . . . . . . . . . . . . . . . . . 40
1
INDICE GENERAL
3.1.2. Matriz de rotacion . . . . . . . . . . . . . . . . . . . . 413.1.3. Matriz de transformacion homogenea . . . . . . . . . . 413.1.4. Denavit-Hartenberg(D-H) . . . . . . . . . . . . . . . . 42
3.2. Estudio cinematico inverso . . . . . . . . . . . . . . . . . . . . 433.2.1. Metodos geometricos . . . . . . . . . . . . . . . . . . . 433.2.2. Matrices de transformacion homogenea . . . . . . . . . 45
3.3. Estudio cinematico diferencial . . . . . . . . . . . . . . . . . . 463.4. Estudio dinamico . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.1. Tensor de inercia . . . . . . . . . . . . . . . . . . . . . 483.4.2. Energia cinetica en un robot de n articulaciones . . . . 483.4.3. Energıa potencial en un robot de n articulaciones . . . 493.4.4. Ecuaciones del movimiento . . . . . . . . . . . . . . . . 493.4.5. Modelo matematico de un Motor DC . . . . . . . . . . 50
3.5. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.5.1. Fundametos del regulador PID . . . . . . . . . . . . . . 543.5.2. Control monoarticular . . . . . . . . . . . . . . . . . . 573.5.3. Control multiarticular . . . . . . . . . . . . . . . . . . 623.5.4. Linealizacion del lazo de realimetacion . . . . . . . . . 63
4. Desarrollo tecnico e implementacion 644.1. Estudio cinematico directo . . . . . . . . . . . . . . . . . . . . 65
4.1.1. Metodos geometricos . . . . . . . . . . . . . . . . . . . 654.1.2. Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . . 674.1.3. Problema cinematico inverso . . . . . . . . . . . . . . . 70
4.2. Estudio diferencial . . . . . . . . . . . . . . . . . . . . . . . . 724.3. Estructura mecanica . . . . . . . . . . . . . . . . . . . . . . . 73
4.3.1. Robot Mark I . . . . . . . . . . . . . . . . . . . . . . . 734.3.2. Robot Mark II . . . . . . . . . . . . . . . . . . . . . . 744.3.3. Robot Mark III . . . . . . . . . . . . . . . . . . . . . . 754.3.4. Efectores finales . . . . . . . . . . . . . . . . . . . . . . 76
4.4. Estudio dinamico . . . . . . . . . . . . . . . . . . . . . . . . . 784.4.1. Calculo de inercias . . . . . . . . . . . . . . . . . . . . 784.4.2. Matriz D . . . . . . . . . . . . . . . . . . . . . . . . . . 834.4.3. Matriz C . . . . . . . . . . . . . . . . . . . . . . . . . . 854.4.4. Componente gravitatoria . . . . . . . . . . . . . . . . . 874.4.5. Exportar desde CAD . . . . . . . . . . . . . . . . . . . 88
4.5. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.5.1. Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . 904.5.2. Actuadores . . . . . . . . . . . . . . . . . . . . . . . . 914.5.3. Placa de control . . . . . . . . . . . . . . . . . . . . . . 944.5.4. Etapa de potencia . . . . . . . . . . . . . . . . . . . . 95
Trabajo fin de Grado Pag. 2
INDICE GENERAL
4.6. Software programado . . . . . . . . . . . . . . . . . . . . . . . 984.6.1. Descripcion de la Interfaz Serial . . . . . . . . . . . . . 100
4.7. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024.7.1. Identificacion de los motores . . . . . . . . . . . . . . . 1024.7.2. Modelo dinamico robot . . . . . . . . . . . . . . . . . . 104
5. Analisis de resultados 1055.1. Estudio de costes . . . . . . . . . . . . . . . . . . . . . . . . . 1065.2. Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.2.1. Primer control . . . . . . . . . . . . . . . . . . . . . . . 1075.2.2. Caracterizacion del motor . . . . . . . . . . . . . . . . 1085.2.3. Diseno de controladores . . . . . . . . . . . . . . . . . 1145.2.4. Recaracterizacion del modelo . . . . . . . . . . . . . . 1205.2.5. PD con compensacion de gravedad . . . . . . . . . . . 122
6. Conclusiones y trabajos futuros 1256.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266.2. Logros del proyecto . . . . . . . . . . . . . . . . . . . . . . . . 1266.3. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 127
A. Listado de siglas y acronimos 128
B. Esquematicos 130
C. Renders PCBs 135
D. Especificaciones tecnicas Teensy 3.2 138
E. Herramientas SW utilizadas 140
Bibliografıa 141
Trabajo fin de Grado Pag. 3
Indice de figuras
2.1. Teleoperador Goertz. Fuente: Google . . . . . . . . . . . . . . 142.2. Handy-Man . Ralph Mosher. Fuente: Google . . . . . . . . . . 152.3. Robot Unimate. Fuente: [5] . . . . . . . . . . . . . . . . . . . 162.4. ASEA IRB6. Fuente: [5] . . . . . . . . . . . . . . . . . . . . . 162.5. Estructura de un robot. Fuente: [5] . . . . . . . . . . . . . . . 202.6. Configuraciones tıpicas de los robots. Fuente: [5] . . . . . . . 222.7. Reductor Harmonic-Drive. Fuente: [5] . . . . . . . . . . . . . 232.8. Reductor Cyclo. Fuente: [5] . . . . . . . . . . . . . . . . . . . 242.9. Encoder incremental. Fuente: Google . . . . . . . . . . . . . . 262.10. Encoder absoluto: Disco codificado. Fuente: Google . . . . . . 272.11. Robot IRB 6000ID con pinza de soldadura.Fuente: [5] . . . . 272.12. Robot CTRL. Fuente: www.roboticsevolved.com . . . . . . . . 302.13. Robot Thor. Fuente: [17] . . . . . . . . . . . . . . . . . . . . . 312.14. Robot UC3M. Fuente: [9] . . . . . . . . . . . . . . . . . . . . . 322.15. Robot Juergen Lessner. Fuente: http://sogehts.info/ . . . . . . 332.16. Tendencias en el desarrollo de metodos de control. Fuente: [22] 342.17. Respuesta escalon de un PID. Fuente: [11] . . . . . . . . . . . 36
3.1. Representacion del problema cinematico. Fuente: [14] . . . . . 393.2. Robot planar 3GDL. Fuente: [10] . . . . . . . . . . . . . . . . 403.3. Robot Articular. Fuente: [5] . . . . . . . . . . . . . . . . . . . 433.4. Posibles posiones del codo. Fuente: [5] . . . . . . . . . . . . . 443.5. Robot polar 3GDL. Fuente: [5] . . . . . . . . . . . . . . . . . 453.6. Solido rıgido. Fuente: [21] . . . . . . . . . . . . . . . . . . . . 473.7. Motor DC: Esquema electrico.Fuente: [5] . . . . . . . . . . . . 503.8. Diagrama dinamico de un motor DC con reductora. Fuente:
[21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.9. Diagrama de bloques de un motor DC con reductora. Fuente:
[21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.10. Diagrama de bloques de la zona muerta. Fuente: [15] . . . . . 533.11. Estructura PID. Fuente: Google Images . . . . . . . . . . . . . 54
4
INDICE DE FIGURAS
3.12. Lazo cerrado con controlador P. Fuente: [6] . . . . . . . . . . 563.13. Estructura basica de control. Fuente: [21] . . . . . . . . . . . 583.14. Diagrama de bloques simplificado. Fuente: [21] . . . . . . . . 593.15. Diagrama de bloques de un PD. Fuente: [21] . . . . . . . . . . 60
4.1. Representacion de los ultimos 3 GDL. Fuente: [10] . . . . . . 654.2. Situacion ejes D-H. Fuente: Propia . . . . . . . . . . . . . . . 674.3. Representacion de los ultimos 3 GDL. Fuente: [10] . . . . . . 704.4. Configuraciones del codo. Fuente: [10] . . . . . . . . . . . . . 714.5. Robot Mark I. Fuente: Propia . . . . . . . . . . . . . . . . . . 734.6. Robot Mark II. Fuente: Propia . . . . . . . . . . . . . . . . . . 744.7. Robot Mark III. Fuente: Propia . . . . . . . . . . . . . . . . . 754.8. Pinza Robot. Fuente: [16] . . . . . . . . . . . . . . . . . . . . 764.9. Pinza ABS. Fuente: Aliexpress . . . . . . . . . . . . . . . . . . 764.10. Pinza Robot Mark III. Fuente: Propia . . . . . . . . . . . . . . 774.11. Calculo inercia primer eslabon. Fuente: Propia . . . . . . . . . 794.12. Calculo inercia segundo eslabon. Fuente: Propia . . . . . . . . 804.13. Calculo inercia tercer eslabon. Fuente: Propia . . . . . . . . . 814.14. Calculo inercia cuarto eslabon. Fuente: Propia . . . . . . . . . 824.15. Ensamblaje en CATIA V5. Fuente: Propia . . . . . . . . . . . 884.16. Ensamblaje en SolidWorks. Fuente: Propia . . . . . . . . . . . 894.17. Modelo simulink robot. Fuente: Propia . . . . . . . . . . . . . 894.18. Diagrama Daisy-chain para AS5040. Fuente: [25] . . . . . . . 914.19. Trama de datos AS5040. Fuente: [25] . . . . . . . . . . . . . . 914.20. Servo sin placa de control. Fuente: Propia . . . . . . . . . . . 924.21. PCB para el AS5040. Fuente: Propia . . . . . . . . . . . . . . 924.22. Colocacion de la PCB en la caja del Servo. Fuente: Propia . . 934.23. Servo modificado como Motor DC con encoder magnetico.
Fuente: Propia . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.24. Teensy 3.2 Oshpark. Fuente: Propia . . . . . . . . . . . . . . . 944.25. Fuente de alimentacion conmutada. Fuente: Propia . . . . . . 954.26. DRV8833 en encapsulado TSSOP-16. Fuente: Google . . . . . 954.27. PCB drivers y Buck converters. Fuente: Propia . . . . . . . . . 964.28. Diagrama de conexiones hardware. Fuente: Elaborado con Mi-
crosoft Visio 2013 . . . . . . . . . . . . . . . . . . . . . . . . . 974.29. Diagrama de clases. Fuente: Elaborado con BOUML . . . . . . 984.30. Diagrama de flujo de ejecucion. Fuente: Elaborado con Micro-
soft Visio 2013 . . . . . . . . . . . . . . . . . . . . . . . . . . 994.31. Modelo dinamico motor. Fuente: Propia . . . . . . . . . . . . 1034.32. Modelo dinamico robot. Fuente: Propia . . . . . . . . . . . . . 1044.33. Diagrama de bloques de los motores. Fuente: Propia . . . . . . 104
Trabajo fin de Grado Pag. 5
INDICE DE FIGURAS
5.1. Respuesta robot primer control implementado . . . . . . . . . 1075.2. Resultado de Ident para Escalon . . . . . . . . . . . . . . . . . 1085.3. Resultado de Ident para Senoide . . . . . . . . . . . . . . . . . 1095.4. Diagrama de bloques del lazo cerrado propuesto . . . . . . . . 1095.5. Simulacion vs respuesta real . . . . . . . . . . . . . . . . . . . 1105.6. Motor DC en simulink . . . . . . . . . . . . . . . . . . . . . . 1115.7. Estimacion de parametros con Simulink 1 . . . . . . . . . . . . 1115.8. Respuesta identificacion Hammerstein-Wiener . . . . . . . . . 1125.9. Modelo motor con zona muerta . . . . . . . . . . . . . . . . . 1135.10. Respuesta identificacion zona muerta . . . . . . . . . . . . . . 1135.11. Controlador propuesto . . . . . . . . . . . . . . . . . . . . . . 1145.12. Resultado respuesta escalon PI ajustado por looptune . . . . . 1155.13. Resultado respuesta escalon PI ajustado por looptune segunda
iteracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165.14. Resultado respuesta trayectoria propuesta . . . . . . . . . . . 1175.15. Resultado respuesta con perfiles de velocidad . . . . . . . . . . 1185.16. Perfiles de velocidad empleado . . . . . . . . . . . . . . . . . . 1195.17. Modelado ultima identificacion. Fuente: Propia . . . . . . . . . 1205.18. Estimacion parametros ultima identificacion. Fuente: Propia . 1215.19. Identificacion modelo ultima identificacion. Fuente: Propia . . 1215.20. Respuesta robot con un regulador PD con compensacion de
gravedad. Fuente: Propia . . . . . . . . . . . . . . . . . . . . . 123
C.1. Render PCB: Encoder AS5040 con SSI. Fuente: VisualizadorPCBs.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
C.2. Render PCB: Driver DRV8833. Fuente: Visualizador PCBs.io 136C.3. Render PCB: Placa de control motores v2. Fuente: Visualiza-
dor PCBs.io . . . . . . . . . . . . . . . . . . . . . . . . . . . 137C.4. Render PCB: Placa de expansion para el microcontrolador.
Fuente: Visualizador PCBs.io . . . . . . . . . . . . . . . . . . 137
Trabajo fin de Grado Pag. 6
Indice de cuadros
1.1. Diagrama Gantt 2016. Fuente: Tomsplanner . . . . . . . . . . 101.2. Diagrama Gantt 2017. Fuente: Tomsplanner . . . . . . . . . . 10
2.1. Articulaciones tıpicas. Fuente: [5] . . . . . . . . . . . . . . . . 212.2. Sistemas de transmision mecanica. Fuente: [5] . . . . . . . . . 232.3. Tipos de sensores. Fuente: [5] . . . . . . . . . . . . . . . . . . 25
3.1. Tabla de ajuste parametros PID. Fuente: [6] . . . . . . . . . . 56
4.1. Parametros D-H. Fuente: Propia . . . . . . . . . . . . . . . . . 67
5.1. Coste materiales . . . . . . . . . . . . . . . . . . . . . . . . . . 106
D.1. Especificaciones tecnicas Teensy 3.2. Fuente: PRJC . . . . . . 139
7
Capıtulo 1
Introduccion
1.1. Objetivos
La principal razon por la cual le he propuesto este trabajo fin de gradoa mi tutor, es por lo recien expuesto; es la mejor forma de englobar y ma-terializar los conocimientos adquiridos durante la carrera, cubriendo en sumayorıa las disciplinas mencionadas. A su vez, uno de los objetivos princi-pales de este trabajo fin de grado es el de acercar la robotica al estudiante.La robotica industrial es cara y voluminosa. Es por ello que en este trabajobusco plasmar los aspectos mas relevantes del desarrollo tecnico de un robotindustrial aplicados a una maqueta funcional de bajo coste. Con el fin depoderse usar en aulas o incluso en las propias casas de los estudiantes, loscuales como yo, tendran inquietudes y ganas de aprender. El proyecto consis-tira en el diseno y fabricacion de un manipulador robotico de bajo coste. Seestudiaran proyectos similares. Se disenara un sistema hardware compuestode un microcontrolador, sensores, actuadores, PCB, ası como los materialesnecesarios para su puesta en marcha.
8
CAPITULO 1. INTRODUCCION
1.1.1. Propuesta de TFG
Acorde con el anteproyecto presentado, el desarrollo de este proyecto tra-tara de abordar y cenirse al estudio de lo siguiente:
Estudio de proyectos similares.
Diseno 3D de la estructura.
Diseno de las PCB y circuitos necesarios para la puesta en marcha delproyecto.
Gestion de sensores y actuadores mediante el uso de un microcontrola-dor.
Plasmar las bases de la robotica industrial en un robot de bajo costepara uso educativo y/o docente.
Trabajo fin de Grado Pag. 9
CAPITULO 1. INTRODUCCION
1.1.2. Diagrama Gantt
Cuadro 1.1: Diagrama Gantt 2016. Fuente: Tomsplanner
Cuadro 1.2: Diagrama Gantt 2017. Fuente: Tomsplanner
Trabajo fin de Grado Pag. 10
CAPITULO 1. INTRODUCCION
1.2. Agradecimientos
Me gustarıa reservar unas palabras a aquellas personas que han hechoposible que este proyecto salga adelante. En lo que se refiere a lo tecnicome gustarıa mencionar a quienes he acudido cuando tuve dudas y me hanayudado mucho: Jorge, Tomas y Marina. En lo personal, sin duda agradecera mi amigo Gonzalo, a mi madre Beatriz y a mis hermanas Rebeca y Carlotapor el apoyo recibido; ya no solo durante el proyecto sino durante la carreraen sı, que de buena manera han sido co-sufridoras durante estos largos anos.Y por ultimo, pero no por ello menos importante, me gustarıa agradecerespecialmente la paciencia infinita que ha tenido mi tutor Basil durante eldesarrollo de mi proyecto.
Trabajo fin de Grado Pag. 11
Capıtulo 2
Estado del Arte
12
CAPITULO 2. ESTADO DEL ARTE
2.1. Historia de la robotica
Tomando de base la introduccion del libro de Antonio Barrientos [5],se comentan a continuacion diferentes aspectos de la robotica como son: laetimologıa de la palabra robot, los antecedentes de la robotica o sus primerospasos.
2.1.1. Origen de la palabra robot
La palabra robot fue usada por primera vez en el ano 1921, cuando el es-critor checo Karen Capek (1890-1938) estrena en el teatro nacional de Pragasu obra Rossum’s Universal Robot (R.U.R.) [4]. Su origen proviene de lapalabra eslava robota, que se refiere al trabajo de forma forzada. En R.U.R.,los robots eran maquinas androides fabricadas por un brillante cientıfico lla-mado Rossum, que servıan a sus jefes humanos desarrollando trabajos fısicos.El termino hubiera quedado en desuso de no haber sido por los escritores delgenero literario de la ciencia ficcion. Muchos de ellos reutilizaron la palabrarobot, e incluso algunos mantuvieron el mensaje de la obra de Capek: ladominacion de la especie humana por seres hechos a su propia imagen. Sihay que destacar a alguien de entre los muchos escritores que han tratadoeste tema, es inevitable nombrar a Isaac Asimov (1920-1992) como el mayorimpulsor de la palabra robot. Escribio diferentes novelas sobre el tema comopor ejemplo Los robots del amanecer, El sol desnudo o Robots e imperio. Yo,Robot es una coleccion de relatos escritos en 1950, en los que se enuncian porprimera vez las tres famosas leyes de la robotica:
Un robot no puede hacer dano a un ser humano o, por inanicion, per-mitir que un ser humano sufra dano.
Un robot debe obedecer las ordenes dadas por los seres humanos, ex-cepto si estas ordenes entrasen en conflicto con la Primera Ley.
Un robot debe proteger su propia existencia en la medida en que estaproteccion no entre en conflicto con la Primera Ley o la Segunda Ley.
Trabajo fin de Grado Pag. 13
CAPITULO 2. ESTADO DEL ARTE
Por ultimo, en su novela Robots e Imperio, publicada en 1985, Asimovincorporo una cuarta ley, conocida como Ley Cero:
Un robot no puede lastimar a la humanidad o, por falta de accion,permitir que la humanidad sufra dano. Esta ley, de mayor prioridadque la primera, antepone el bien comunitario al individual.
2.1.2. Origen y evolucion de la robotica
Los progenitores mas directos de los robots son los telemanipuladores. En1948, R. C. Goertz desarrollo en el Argonne Nacional Laboratory el primertelemanipulador, con el objetivo de manipular elementos radiactivos sin ries-go para el operador (Figura 2.1). Este consistıa en un dispositivo mecanicomaestro-esclavo, donde el manipulador maestro, colocado en zona segura, eramovido por el operador; mientras que el esclavo, reproducıa los movimientosdel primero. El operador, ademas de poder observar a traves de un gruesocristal, sentıa por medio del dispositivo maestro, las fuerzas que el esclavoejercıa sobre el entorno.
Figura 2.1: Teleoperador Goertz. Fuente: Google
Mas adelante, en 1958, Ralph Mosher, ingeniero de la General Electric,desarrollo un dispositivo Handy-Man consistente en dos brazos roboticos te-leoperados mediante un maestro del tipo denominado exoesqueleto.(Figura2.2)
Trabajo fin de Grado Pag. 14
CAPITULO 2. ESTADO DEL ARTE
Figura 2.2: Handy-Man . Ralph Mosher. Fuente: Google
Durante los anos sesenta, ademas de la industria nuclear, la industriasubmarina tambien comenzo a interesarse por los telemanipuladores. Mastarde, en los anos setenta, la industria espacial se sumo a este interes. Elconcepto de robot nacio con la sustitucion del operador por un programa deordenador que controlase los movimientos del manipulador. La primera pa-tente de un dispositivo robotico fue solicitada en 1954 por el britanico C.E.Kenward. Sin embargo, fue George C. Devol, un ingeniero norteamericano,el que establecio las bases del robot industrial moderno. En 1956, Joseph F.Engelberger y Devol comenzaron a trabajar en la utilizacion industrial desus maquinas, fundando la Consolidated Controls Corporation. Mas tarde,se convertirıa en Unimation (Universal Automation), instalando su primeramaquina Unimate en la General Motors de Trenton, Nueva Jersey, en 1960(figura 2.3). Se produjo un boom de la fabrica del futuro, aunque en su pri-mer intento el resultado y la viabilidad economica fueron desastrosos. Otrasgrandes empresas, como la AMF (American Machine y Foundry Company),emprendieron la construccion de maquinas similares (Versatran, 1963), queen adelante se comenzaron a denominar robots por motivoscomerciales, apesar de no contar con la apariencia humana de aquellos. En 1968, J.F. En-gelberger visito Japon y poco mas tarde se firmaron acuerdos con Kawasakipara la construccion de robots tipo Unimate.
Trabajo fin de Grado Pag. 15
CAPITULO 2. ESTADO DEL ARTE
Figura 2.3: Robot Unimate. Fuente: [5]
El crecimiento de la robotica en Japon aventajo en breve a los Estados Unidosgracias a Nissan, que formo la primera asociacion robotica del mundo, laAsociacion de Robotica industrial de Japon (JIRA) en 1972. Dos anos mastarde se formo el Instituto de Robotica de America (RIA), que en 1984 cambiosu nombre por el de Asociacion de Industrias Roboticas, manteniendo lasmismas siglas. Por su parte, Europa tuvo un despertar mas tardıo y hasta1973, no se construyo el primer robot con accionamiento totalmente electrico,a cargo de la firma sueca ASEA (Figura 2.4). En 1980 se fundo la FederacionInternacional de Robotica.
Figura 2.4: ASEA IRB6. Fuente: [5]
Los hitos mas relevantes en el desarrollo de la robotica industrial puedenresumirse en los siguientes puntos:
1950: Desarrollo del primer manipulador.
1958: La fundacion de Unimation, se realizan los primeros proyectos derobots.
Trabajo fin de Grado Pag. 16
CAPITULO 2. ESTADO DEL ARTE
1970: Los laboratorios de la universidad de Stanford y del MIT se pro-ponen controlar un robot mediante un computador.
1975: Con la aplicacion del microprocesador se transforma la imagen ylas caracterısticas del robot, hasta entonces grande y tosco.
1980: El fuerte impulso de la investigacion potencia la configuraciondel robot inteligente.
Aunque siguen siendo los robots industriales los mas utilizados en lastareas presentes en la industria tales como montaje, soldadura, ensamblaje,etc. No obstante, existen otro tipo de aplicaciones que han hecho evolucio-nar en gran medida tanto la concepcion de los robots como su morfologıa,acercandolos cada vez mas a la idea que en su momento presento K. Kapek.
2.1.3. Generaciones
La introduccion de los microprocesadores en los anos 70 hizo posible quela tecnologıa de los robots experimentase grandes avances. La fusion de laelectronica y la mecanica ha hecho posible el robot actual, hasta tal puntoque los japoneses han acunado el termino mecatronica para describirla. Elano 1980 fue llamado primer ano de la era robotica porque la produccion derobots industriales aumento ese ano un 80 % respecto al ano anterior.
Primera y segunda generacion La primera generacion de robots era re-programable, de tipo brazo y solo podıan memorizar movimientos repetitivos,asistidos por sensores internos que les ayudaban a realizar sus movimientoscon precision. La segunda generacion coincide con finales de los 70 y ya po-seıan sensores externos que proporcionaban al robot informacion del exterior.Podıan tomar limitadas decisiones, reaccionar ante el entorno de trabajo yse les conocıa como robots adaptativos.
Tercera generacion La tercera generacion emplea la inteligencia artificial,hace uso de microprocesadores avanzados y es capaz de realizar razonamien-tos logicos e, incluso, aprender.
Tendencias futuras Durante muchos anos, los robots han sido conside-rados utiles solo si se empleaban como manipuladores industriales, mientrasque en la actualidad los roles de estos han dado un giro considerable. Estosnuevos robots moviles pueden realizar tareas en entornos diferentes y se lesconoce como robots de servicio. Proporcionan muchas funciones de utilidad
Trabajo fin de Grado Pag. 17
CAPITULO 2. ESTADO DEL ARTE
y se emplean para el ocio, educacion, medicina, etc. La creciente utilizacionde los robots muestra el papel tan importante que pueden desempenar en elfuturo.
2.2. Definicion y clasificacion de los robots
Actualmente la robotica esta experimentando una notoria ampliacion ensus campos de actuacion. La mayorıa de las aplicaciones de los robots seconcentran en talleres y lıneas de fabricacion. La mayor parte de las clasi-ficaciones y definiciones de los robots existentes se centran en el robot masusado hasta la fecha, el que se conoce como robot industrial o robot de pro-duccion, usado principalmente en sistemas de fabricacion flexible.
2.2.1. Definicion
Existen diferentes definiciones de lo que es un robot. Se incluyen a conti-nuacion las mas representativas:
Robot Institute of America (RIA): Un robot industrial es un ma-nipulador multifuncional reprogramable, capaz de mover materias, pie-zas, herramientas o dispositivos especiales, segun trayectorias variables,programadas para realizar tareas diversas.
Asociacion Francesa de la Normalizacion (AFNOR): Comple-tando la definicion anterior, se define primero el manipulador y luegorobot:
• Manipulador: Mecanismo generalmente formado por elementosen serie, articulados entre sı, destinado al agarre y desplazamientode objetos. Es multifuncional y puede ser gobernado directamentepor un operador humano o mediante dispositivo logico.
• Robot: Manipulador automatico servocontrolado, reprogramable,polivalente, capaz de posicionar y orientar piezas, siguiendo tra-yectorias variables reprogramables, para la ejecucion de tareas va-riadas.
Trabajo fin de Grado Pag. 18
CAPITULO 2. ESTADO DEL ARTE
Japanese Industrial Robot Association (JIRA) define el robotdividiendolo en 6 clases, desde el robot mas basico hasta el robot inte-ligente.
• Clase 1: De accion manual: Dispositivo con varios grados de li-bertad controlado por un operario.
• Clase 2: De secuencia prefijada: Dispositivo de manejo que lleva acabo las sucesivas partes de una tarea, en base a un procedimientodeterminado con poca cabida a cambio, que suele ser difıcil demodificar.
• Clase 3: De secuencia variable: Del mismo tipo que la clase 2pero las secuencias pueden ser modificadas facilmente.
• Clase 4: De repeticion: El operario efectua la tarea manualmente,dejando el control al robot, que graba las trayectorias. Esta infor-macion es requerida cuando es necesario y el robot desempena latarea en modo automatico.
• Clase 5: De control numerico: El operario proporciona al robotun programa con las instrucciones mas que ensenarselas manual-mente.
• Clase 6: Robot inteligente: Capaz de comprender su entorno, te-niendo la habilidad de completar la tarea cuales quieran que seanlos cambios en las condiciones circundantes bajo las cuales se llevaa cabo la tarea.
International Federation of Robotics (IFR), lo define como: Ma-quina de manipulacion automatico, reprogramable y multifuncional contres o mas ejes que pueden posicionar y orientar materias, piezas, he-rramientas o dispositivos especiales para la ejecucion de trabajos diver-sos en las diferentes etapas de la produccion industrial, ya sea en unaposicion fija o en movimiento.
A excepcion de la ultima definicion, todas las anteriores se refieren princi-palmente a robots industriales o manipuladores; pero, en ningun caso hacenreferencia a robots de servicio como son los humanoides o robots espaciales.
Trabajo fin de Grado Pag. 19
CAPITULO 2. ESTADO DEL ARTE
2.3. Robots manipuladores
Los robots manipuladores o robots industriales fueron los encargados deinaugurar la era de los robots en los anos 60, con la herencia adquirida de losprimeros teleoperadores. Por ello, es el area de la robotica donde la investi-gacion esta mas avanzada. Es difıcil encontrar investigaciones que trabajenen los aspectos basicos de los robots manipuladores tradicionales y, las pocasque hay, estan centradas en la inclusion de modernos sensores o actuadores.Un ejemplo de esto es la adicion de camaras para reconocimiento avanzadode imagenes que mejoren la efectividad de dichos robots. El area mas intere-sante, y donde sı que se investiga de manera importante, es en la busquedade novedosas aplicaciones para los robots manipuladores, como es el caso delos robots quirurgicos, los cuales estan teniendo un gran auge.
2.3.1. Estructura mecanica
La constitucion fısica de la gran parte de los robots industriales guardasemejanza con la anatomıa de un brazo humano; es por ello que frecuente-mente se hace alusion a los distintos elementos de un robot como : brazo,codo, hombro, muneca, etc. Los elementos o eslabones van unidos por mediode diferentes articulaciones, que permiten un movimiento relativo entre cadados eslabones consecutivos, este movimiento relativo se llama Grado de liber-tad (GDL). En la parte final, se situa el elemento terminal o efector final, queson los encargados de interaccionar directamente con el entorno del robot.En la figura 2.5 se observa una estructura tıpica de un robot industrial.
Figura 2.5: Estructura de un robot. Fuente: [5]
Trabajo fin de Grado Pag. 20
CAPITULO 2. ESTADO DEL ARTE
Generalmente, los robots se proporcionan con un acople en el que seenganchan las diferentes herramientas con las que puede llegar a trabajar elrobot dependiendo de donde se instale, vease un soldador, un aerografo, unapinza, una ventosa, etc.
El movimiento de cada articulacion puede ser de desplazamiento, de giroo de una combinacion de ambos. De este modo, son posibles los 5 tiposdiferentes de articulaciones, con sus diferentes grados de libertad, que semuestran a continuacion en la figura 2.1.
Cuadro 2.1: Articulaciones tıpicas. Fuente: [5]
Trabajo fin de Grado Pag. 21
CAPITULO 2. ESTADO DEL ARTE
Como se comento previamente, los grados de libertad son el numero demovimientos independientes que puede realizar cada articulacion con respec-to a la anterior. El numero de grados de libertad de un robot viene dado porla suma de los grados de libertad de cada una de sus articulaciones. Cuandoel numero de grados de libertad excede de los necesarios para llevar a cabola tarea a la que se destina el robot, se dice que es un robot redundante. Elempleo de diferentes combinaciones de articulaciones en un robot da lugar adiferentes configuraciones con caracterısticas a tener en cuenta en el disenoy construccion del robot. En la figura 2.6 se muestran las configuracionesmas tıpicas de los robots en la industria.
Figura 2.6: Configuraciones tıpicas de los robots. Fuente: [5]
Trabajo fin de Grado Pag. 22
CAPITULO 2. ESTADO DEL ARTE
2.3.2. Transmisiones
Debido a las grandes aceleraciones con las que el robot mueve su extremo,es importante reducir lo maximo posible las inercias generadas, ası comolos pares estaticos producidos en las articulaciones. Una practica habitualen la robotica industrial consiste en tratar de poner el maximo numero deactuadores en la base del robot, relegando la comunicacion de par en losdistintos sistemas de transmision mecanica (Figura 2.2). Un buen sistema de
Cuadro 2.2: Sistemas de transmision mecanica. Fuente: [5]
transmision habra de tener un peso y tamano reducido, evitando la presenciade juegos u holguras.
2.3.3. Reductores
Los reductores son dispositivos que tienen la funcion de obtener la maxi-ma relacion de par aplicado sin incurrir en inercias que puedan dificultar elcontrol del robot. En robotica a los reductores se les exigen unas condicio-nes de funcionamiento muy restrictivas, prestaciones tales como: precision,velocidad de posicionamiento, bajo peso, tamano reducido, bajo rozamiento,etc. Otro de los objetivos principales de los reductores es buscar que el juegoangular (backlash) sea lo menor posible. Los reductores mas usados en laindustria son el Harmonic Drive (Figura 2.7) y el Cyclo (Figura 2.8).
Figura 2.7: Reductor Harmonic-Drive. Fuente: [5]
Trabajo fin de Grado Pag. 23
CAPITULO 2. ESTADO DEL ARTE
Figura 2.8: Reductor Cyclo. Fuente: [5]
2.3.4. Actuadores
Su mision es generar el movimiento de los distintos elementos del robotsegun las ordenes dictaminadas por la unidad de control. Estos pueden ser devarias naturalezas: electricos, hidraulicos o neumaticos. Dado que este TFGha sido desarrollado con actuadores electricos, el resto quedaran en mencion.
De los actuadores electricos usados en robotica hay tres tipos:
Motores de corriente continua(DC):
• Controlados por inducido.
Flujo variable.
Flujo constante (imanes permanentes).
• Controlados por excitacion.
Motores de corriente Alterna (AC):
• Sıncronos.
• Asıncronos.
Motores paso a paso.
Trabajo fin de Grado Pag. 24
CAPITULO 2. ESTADO DEL ARTE
2.3.5. Sensores internos
Para que un robot pueda llevar a cabo su tarea con precision, velocidade inteligencia, sera preciso que tenga conocimiento tanto de su estado comodel entorno. En lo relativo a su estado, fundamentalmente se refiere al co-nocimiento de la posicion de sus articulaciones. En el caso del entorno, serecurrira a sensores externos. A continuacion se puede observar una tablacon los tipos de sensores propioceptivos usuales en los robots( Figura 2.3).
Cuadro 2.3: Tipos de sensores. Fuente: [5]
Sensores de posicion Para el control de la posicion angular se empleanlos denominados encoders y resolvers. Los potenciometros no se usan salvo encontadas ocasiones dadas sus bajas prestaciones, pese a ser una alternativade coste muy reducido.
Trabajo fin de Grado Pag. 25
CAPITULO 2. ESTADO DEL ARTE
Codificadores angulares incrementales (encoders) Los encodersincrementales opticos mas simples constan de un disco transparente con unaserie de marcas opacas, o tambien como un disco opaco con marcas que dejanpasar la luz. Estas marcas estan dispuestas radialmente y equidistantes entresı. Estos dispositivos constan de un sistema de iluminacion, mediante suinterrupcion a traves de las marcas del disco se generan pulsos en un receptor( ver Figura 2.9). Llevando una cuenta de los pulsos ası como del tiempo enel que se dan, se puede tener una medida de la velocidad de giro.
Figura 2.9: Encoder incremental. Fuente: Google
Codificadores angulares absolutos (encoders) La alternativa di-recta a los encoders incrementales son los encoders absolutos. El funciona-miento de los encoders absolutos es bastante similar en cuanto a principio defuncionamiento. No obstante en un encoder absoluto cada posicion es uni-ca. El disco del encoder esta codificado con un codigo binario, generalmentecodigo gray (vease figura 2.10). Generalemnte este tipo de encoders suelenllevar una interfaz que es comunicable con el microcontrolador mediante unprotocolo de comunicacion (SPI, Serial, I2C, CAN, etc.)
Trabajo fin de Grado Pag. 26
CAPITULO 2. ESTADO DEL ARTE
Figura 2.10: Encoder absoluto: Disco codificado. Fuente: Google
2.3.6. Elementos terminales
Al final de la cadena de eslabones del robot se situa el tambien llamadoefector final. Esta es la parte del robot que tiene como cometido interactuarcon el entorno del robot. Pueden ser tanto elementos de aprehension comoherramientas de pintura, mecanizado, soldadura, etc(vease figura 2.11).
Figura 2.11: Robot IRB 6000ID con pinza de soldadura.Fuente: [5]
Trabajo fin de Grado Pag. 27
CAPITULO 2. ESTADO DEL ARTE
2.3.7. Aplicaciones
Clasificacion de las aplicaciones de los robots industriales segun la IRF:
Manipulacion en fundicion
Manipulacion en moldeo de plasticos
Manipulacion en tratamientos termicos
Manipulacion en la forja y estampacion
Soldadura
Aplicacion de materiales
• Pintura
• Adhesivos y secantes
Mecanizacion
• Carga y descarga de maquinas
• Corte mecanico, rectificado, desbarbado y pulido
Montaje
• Montaje mecanico
• Insercion
• Union por adhesivos
• Union por soldadura
• Manipulacion para montaje
Paletizacion y empaquetado
Medicion, inspeccion, control de calidad
Manipulacion de materiales
Formacion, ensenanza e investigacion
Trabajo fin de Grado Pag. 28
CAPITULO 2. ESTADO DEL ARTE
2.4. Robotica educativa y de bajo coste
2.4.1. Robotica educativa
Con la creacion de la plataforma de Arduino en 2005 se marco un antes yun despues en la manera de aprender electronica y llevar a cabo proyectos deuna manera asequible. Creando una comunidad DIY que hasta la fecha nopara de crecer. La robotica, entre una de las tantas ramas de la ingenierıa enlas que se saca partido de Arduino, no ha sido menos y en los ultimos anos haexperimentado algo que hasta ahora no era medianamente factible, el bajocoste. Desde hace unos anos tanto las universidades como algunas empresasdel sector han visto la oportunidad en esto, creando, plataformas, concursosy talleres, para acercar la electronica y la robotica a los estudiantes. Algunosde estos casos son:
Hacklab: Iniciativa creada por la ETSIDI en colaboracion con BQ.
Cybertech: Concurso anual de robotica organizado por la ETSII.
Retotech: Concurso de robotica propuesto por la Fundacion Endesa.
Fundacion Sindrome de Down: Mediante el uso de su robot Zowi,BQ colabora con personas con discapacidad.
LEGO Mindstorms: Plataforma educativa de la empresa LEGO.
En [26] se citan otras plataformas robotico-ludicas como Roboraptor, Robo-tail, Robosapin V2.
2.4.2. Robotica de bajo coste
Para el caso del bajo coste, lo que sin duda ha revolucionado la realiza-cion de proyectos ha sido la aparicion de la impresion3D alcanzable a todoel mundo. Gracias a Arduino y la impresion 3D uno se puede montar unlaboratorio de proyectos por un coste bastante reducido.
Trabajo fin de Grado Pag. 29
CAPITULO 2. ESTADO DEL ARTE
Robot CTRL Ctrl es un robot desarrollado por la empresa Robotics Evol-ved, que durante el primer trimestre del ano 2017 lanzo en Kickstarter unacampana de crowdfunding. Lamentablemente no llegaron a su objetivo. Elrobot tenıa un precio de unos 469 euros al cambio. El robot guarda bastantesimilitud con algunos modelos de robots industriales que comercializa ABB.Algunas de las caracterısticas mas destacables son:
6 GDL.
>750g de carga soportable.
500 mm de alcance.
En la figura 2.12 vemos a Ctrl.
Figura 2.12: Robot CTRL. Fuente: www.roboticsevolved.com
Trabajo fin de Grado Pag. 30
CAPITULO 2. ESTADO DEL ARTE
Robot Thor Thor fue desarollado por un alumno de la ETSIDI, AngelLarranaga Muro [17] como su TFG en colaboracion con BQ. El coste delproyecto no excedio de 200 euros. Podemos ver a Thor en la figura 2.13.Algunos de las caracterısticas mas destacables de este proyecto son:
6 GDL.
> 750g de carga soportable.
Uso de motores Paso a paso.
Control mediante el uso del software GBRL, usado tambien en CNC.
Totalmente imprimible en 3D.
Figura 2.13: Robot Thor. Fuente: [17]
Trabajo fin de Grado Pag. 31
CAPITULO 2. ESTADO DEL ARTE
Robot Carlos III Proyecto desarrollado por un alumno de la UC3M, An-tonio Castro [9]. Se desarrollo con el objetivo de valorar la viabilidad de losrobots imprimibles.En la figura 2.14 podemos ver un render 3D del robot.Elcoste del proyecto no excedio de 200 euros. Algunos de las caracterısticasmas destacables de este proyecto son:
6 GDL.
Uso de Servos con feedback de posicion externo.
Totalmente imprimible en 3D.
Figura 2.14: Robot UC3M. Fuente: [9]
Trabajo fin de Grado Pag. 32
CAPITULO 2. ESTADO DEL ARTE
Robot Juergen Proyecto desarrollado por Juergen Lessner. La informa-cion completa de su proyecto esta en su web personal http://sogehts.info/y los archivos 3D, en Thingiverse. Ademas de construir el robot, diseno unsistema de una planta de clasificacion de piezas por color. En la figura 2.15podemos ver su robot. Aunque en este caso no se tengan datos del coste,segun la lista de materiales de su perfıl de Thingiverse, la cifra estara entorno a los 200 euros. Algunos de las caracterısticas mas destacables de esteproyecto son:
5 GDL.
Uso de Servos en lazo abierto.
Totalmente imprimible en 3D.
> 300g de carga soportable.
Figura 2.15: Robot Juergen Lessner. Fuente: http://sogehts.info/
Trabajo fin de Grado Pag. 33
CAPITULO 2. ESTADO DEL ARTE
2.5. Ingenierıa de Control
La ingenierıa de control es una de las ramas mas cruciales de la inge-nierıa pues gracias a su estudio se han ido automatizando las distintas tareasindustriales mediante la implementacion de sistemas que gobiernan su com-portamiento. El control automatico nace con la necesidad de facilitar la vidaa los operarios relegando las tareas monotonas en las maquinas. Como dice[22], la automatizacion hace uso de tecnicas, estrategias de control, procesos,instalaciones, las cuales son capaces de completar objetivos definidos sin laconstante intervencion del hombre. Debido al exito de la ingenierıa de controlconvencional en productos de consumo y en el control de procesos industria-les, ha habido un incremento de trabajo en el desarrollo de nuevos metodosbasados en: nuevas tecnicas de optimizacion, estrategias de computacion, yun efectivo despliegue Hardware de los algoritmos de control. Pese a que lastecnicas de control estan presentes practicamente en cualquier aparato en lavida cotidiana, orientaremos esta seccion del estado del arte a la robotica.En la figura 2.16 se muestra un grafico de la la evolucion de los algoritmosde control empleados.
Figura 2.16: Tendencias en el desarrollo de metodos de control. Fuente: [22]
Trabajo fin de Grado Pag. 34
CAPITULO 2. ESTADO DEL ARTE
2.5.1. Desarollo de metodos de control
Hoy en dıa podemos diferenciar 4 etapas en el desarrollo de los metodosde la ingenierıa de control.
Control PID convencional:
• Control manual
• Control de realimentacion
• Control en cascada
• Control Feedforward
• Control de ratio
• La combinacion de las estructuras de control citadas anteriormen-te.
Control avanzado I:
• Control adaptativo y auto-ajustable
• Control de planificacion de ganancias
• metodos de Control multivariable ( espacio de estado, funcionesde transferencia)
• Asignacion de polos(en sistemas SISO, MIMO)
• Metodos de control no lineales(linealizacion de entrada salida)
Control avanzado II:
• Control optimo:LQ, LQG
• Control robusto: H2, Hinf, IMC
• Control predictivo
• Control descentralizado
Control avanzado III:
• Control hıbrido predictivo
• Logica borrosa(Fuzzy)
• Control con redes neuronales
• Control de eventos discretos
Trabajo fin de Grado Pag. 35
CAPITULO 2. ESTADO DEL ARTE
2.5.2. PID
Como mencionamos en el parrafo anterior el PID es el controlador masextendido. Toma su nombre de las acciones que realiza con el error, Propor-cional, Integral y derivativo, en la figura 2.17 se puede observar la respuestaescalon de un PID.
Figura 2.17: Respuesta escalon de un PID. Fuente: [11]
Los PID practicos cubren aspectos importantes que surgen cuando un PIDnecesita ser aplicado para el control de procesos industriales. En la enume-racion anterior se porpusieron diferentes estructuras de control y diferentesmetodos de sıntesis para reguladores continuos o discretos, los cuales pue-den usarse en la industria. El principal objetivo del control es el diseno dealgoritmos y estrategias efectivas de control. La principal razon por la cualel PID es tan popular es que el controlador combina dos caracteristicas muyimportantes para los ingenieros de control:
Simplicidad en la ley de control y facil implementacion ya sea continuoo discreto mediante el uso de un microcontrolador, PLC o FPGA.
Propiedades robustas que aseguran la estabilidad y alto rendimientobajo lo cambios de los parametros del proceso. Los puntos mas impor-tantes de un PID son:
• Robustez
• Fiabilidad
• Regimen permanente
• Regimen transitorio
La mayoria de los algoritmos usados en los controladores industrialesson del tipo PID, ya sea discreto o continuo. Para una implemetacion
Trabajo fin de Grado Pag. 36
CAPITULO 2. ESTADO DEL ARTE
practica, apenas hace falta modificar de 10 a 20 algoritmos basicosque se van modificando segun el procesador utiliado, las dinamicas deplanta, retrasos,etc.
Estados de evolucion La implementacion de los PID ha evolucio-nado bastante, desde los actuadores mecanico-neumaticos hasta los di-senos implementados en microcontrolador [13]. Recientemente se haincrementado el uso de FPGA para este fin como alternativa al mi-crocontrolador. Los controladores basados en FPGA ofrecen ventajastales como alta velocidad, funcionamiento complejo y bajo consumo.Ademas, en los tıpicos controladores es frecuentemente necesario mo-dificar los mencionados clasicos metodos de ajuste de paramteros te-niendo en cuenta los retrasos, dinamicas no consideradas, cambio enlas condiciones de trabajo y perturbaciones. La mejora de los meto-dos clasicos es posible bajo la consideracion de que el algoritmo inicialde control es extensible respecto a los cambios de los parametros delproceso.
Trabajo fin de Grado Pag. 37
Capıtulo 3
Fundamento teorico de unmanipulador robotico
38
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.1. Estudio cinematico directo
En este capıtulo desarrollaremos las ecuaciones de las configuraciones ci-nematicas para robots rıgidos. El problema cinematico directo concierne larelacion entre las independientes articulaciones del manipulador robotico yla posicion y orientacion del efector final(vease figura 3.1). En esencia el pro-blema cinematico directo se usa para determinar la posicion y orientacion delefector final para unas coordenadas articulares dadas. Dado que la medidadirecta que se obtiene de los encoders es la de las variables articulares, el pro-blema cinematico directo servira para saber en todo momento la localizaciondel extremo final del robot.
Figura 3.1: Representacion del problema cinematico. Fuente: [14]
El estudio de la relacion inversa corresponde con el problema cinematicoinverso, el cual sera tratado en la siguiente seccion. La resolucion del problemacinematico directo puede realizarse mediante metodos geometricos usandorelaciones trigonometricas o mediante el estudio de cambios del sistema dereferencia, recurriendo a la matriz de transformacion homogenea.
Trabajo fin de Grado Pag. 39
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.1.1. Metodos geometricos
Este metodo es relativamente sencillo no obstante, al no ser sistematico,apenas sirve para manipuladores de pocos GDL(grados de libertad) o confi-guraciones muy concretas, como lo son los robots planares. Consiste en unanalisis trigonometrico de la posicion del robot para una posicion dada. Enla figura 3.2 se muestran ejemplos sencillos de manipuladores para el calculode sus cinematicas por metodos geometricos.
Robot planar 3GDL
Figura 3.2: Robot planar 3GDL. Fuente: [10]
xe = l1 cos(q1) + l2 cos(q1 + q2) + l3 cos(q1 + q2 + q3)
ye = l1 sin(q1) + l2 sin(q1 + q2) + l3 sin(q1 + q2 + q3)
ze = 0
φe = q1 + q2 + q3 (3.1)
Trabajo fin de Grado Pag. 40
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.1.2. Matriz de rotacion
Se corresponde con una de las maneras de representar los giros en un sis-tema cartesiano. Define la orientacion de un sistema girado OUVW respectoal sistema de origen OXYZ.
R =
ixiu ixjv ixkwjyiu jyjv jykwkziu kzjv kzkw
Donde cada columna representa la proyeccion de sistema girado sobre elsistema origen. Se diferencian 3 rotaciones basicas con las cuales, se puedenrepresentar todas las rotaciones posibles.
Composicion de rotaciones Para expresar varias rotaciones sucesivas lasmatrices de rotacion pueden componerse de la aplicacion consecutiva de losgiros realizados. De tal modo que al sistema OUVW se le aplica una rotacionde angulo α sobre OX, seguida de una rotacion φ sobre OY y de una rotacionθ sobre OZ, la composicion de la rotacion queda de la siguiente manera(noteseC(a) como cos(a)):
RT = Rotx(α)Roty(φ)Rotz(θ) =
[1 0 00 C(α) −S(α)0 S(α) C(α)
][C(φ) 0 S(φ)0 1 0
−S(φ) 0 C(φ)
][C(θ) −S(θ) 0S(θ) C(θ) 00 0 1
]=
=
C(φ)C(θ) −C(φ)sin(θ) S(φ)S(α)S(φ)C(θ) + C(α)S(θ) −S(α)S(φ)S(θ) + C(α)S(θ) −S(α)C(φ)−C(α)S(φ)C(θ) + S(α)S(θ) C(α)S(φ)S(θ) + C(α)S(θ) C(α)C(φ)
3.1.3. Matriz de transformacion homogenea
Es un metodo para representar las transformaciones geometricas espacia-les, tales como giros y traslaciones.La matriz de transformacion homogenease compone de 4 submatrices: Rotacion, Traslacion, Perspectiva y Escala,denotadas como: R3x3, P3x1, f1x3, w1x1 respectivamente.
T =
[R3x3 P3x1
f1x3 w1x1
]Para el caso de la robotica la matriz de respectiva es nula y la de escalado, laidentidad. Por lo que la matriz de transformacion homogenea para nuestrocaso queda: [
R3x3 P3x1
0 1
]=
[Rotacion Traslacion
0 1
]Trabajo fin de Grado Pag. 41
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.1.4. Denavit-Hartenberg(D-H)
El metodo D-H fue propuesto en 1955 por Denavit-Hartenberg [5], con-siste en un metodo matricial que establece la localizacion que debe tomarcada sistema de coordenadas Si ligado a cada eslabon i de una cadena arti-culada. Frente a otros metodos de obtencion de la cinematica, D-H presentaun mecanismo sistematico para la obtencion de la matriz de transformacionhomogenea que representa la relacion entre el sistema de coordenadas delefector final respecto de la base del robot. D-H se basa en que es posiblerepresentar cada una de estas trasformacion entre los consecutivos sistemasde referencia de cada eslabon mediante 4 transformaciones basicas:
i−1Ai = Rotz(θi)T(0, 0, di)T(ai, 0, 0)Rotx(αi). (3.2)
y realizando el producto matricial se obtiene:
i−1Ai =
[Cθi −Sθi 0 0Sθi Cθi 0 00 1 00 0 0 1
][1 0 0 00 1 0 00 1 0 d10 0 0 1
][1 0 0 ai0 1 0 00 1 0 00 0 0 1
][1 0 0 00 Cαi −Sαi 00 Sαi Cαi 00 0 0 1
]=
=
Cθi −CαiSθi SαiSθi aiCθiSθi CαiCθi −SαiCθi aiSθi0 Sαi Cαi di0 0 0 1
donde θi, di, ai, αi i son los parametros D-H del eslabon i. De este modo,basta con identificar los parametros θi, di, ai, αi para obtener las matricesi−1Ai y relacionar ası todos y cada uno los eslabones del robot. El metodode obtencion de estos parametros esta descrito en [5].
Trabajo fin de Grado Pag. 42
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.2. Estudio cinematico inverso
Se corresponde con hallar la relacion que existe entre la posicion espacialy las coordenadas articulares. Su estudio no es sistematico y depende de laconfiguracion particular del robot. Existen varios metodos para calcularla.Para ciertas configuraciones esta se puede hallar mediante simples relacionesgeometricas. A medida que aumentan los grados de libertad los metodosgeometricos van perdiendo eficacia en pro de otros metodos tales como usarmatrices homogeneas o metodos numericos iterativos. Cuando se tienen masde 3 GDL se realiza el desacoplo cinematico. Para poder conseguir cualquierposicion y orientacion en el espacio se necesitan 6 GDL de los cuales los 3primeros se usan para posicionar y los 3 ultimos para orientar. Esto divideel problema cinematico en dos partes que se pueden resolver por los metodosmencionados.
3.2.1. Metodos geometricos
Como ejemplo de este metodo se va a resolver el problema cinematicoinverso para un robot de 3 grados de libertad(vease figura 3.3) segun [5].
Figura 3.3: Robot Articular. Fuente: [5]
El valor de q1 se obtiene de manera inmediata:
q1 = arctan(pypx
) (3.3)
Trabajo fin de Grado Pag. 43
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Considerando ahora unicamente los elementos 2 y 3 que estan situados enun plano y utilizando el teorema del coseno se obtiene:
r2 = p2x + p2y
r2 + p2z = l22 + l23 + 2l3l3 cos(q3)
Combinando las anteriores resulta la siguiente ecuacion:
cos(q3) =p2x + p2y + p2z − l22 − l23
2l2l3(3.4)
por motivos de ventajas computacionales se suele usar la arcotangente porlo que se define:
sin(q3) = ±√
1− cos2(q3) (3.5)
donde queda:
arctan(q3) =±√
1− cos2(q3)
cos(q3)(3.6)
Esta configuracion de robot tiene la particularidad de tener dos solucionesposibles para el problema, tal y como se puede ver en la figura 3.4, codoarriba y codo abajo.
Figura 3.4: Posibles posiones del codo. Fuente: [5]
El calculo de q2 se halla apartir de la diferencia entre β y α:
q2 = β − α (3.7)
Donde β se define como:
β = arctan(pzr
) = arctan(pz
±√p2x + p2y
) (3.8)
Trabajo fin de Grado Pag. 44
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
y α como:
α = arctan(l3 sin(q3)
l2 + l3 cos(q3)) (3.9)
lo que resulta en:
q2 = arctan(pz
±√p2x + p2y
)− arctan(l3 sin(q3)
l2 + l3 cos(q3)) (3.10)
3.2.2. Matrices de transformacion homogenea
A partir de las matrices de transformacion homogenea se puede obtenerel modelo cinematico inverso como se explica en [5]. Partiremos de ejemplocon el robot polar de 3GDL de la figura 3.5 :
Figura 3.5: Robot polar 3GDL. Fuente: [5]
Mediante la aplicacion de D-H se obtienen sus matrices de transformacion:
0A1 =
Cq1 0 Sq1 0Sq1 0 −Cq1 00 1 0 l10 0 0 1
,1A2 =
Cq2 0 Sq2 0Sq2 0 −Cq2 00 −1 0 00 0 0 1
,2A3 =
1 0 0 00 1 0 00 0 1 q30 0 0 1
Lo que resulta en:
T =0 A3 =
Cq1Cq2 −Sq1 −Cq1Sq2 −q3Cq1Sq2Sq1Cq2 Cq1 −Sq1Sq2 −q3Sq1Sq2Sq2 1 Cq2 q3Cq2 + l10 0 0 1
Trabajo fin de Grado Pag. 45
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Dado que para Obtener la Matriz T hemos calculado el siguiente producto:
T =0 A1 ∗1 A2 ∗2 A3 (3.11)
Aplicando sucesivamente el producto inverso de cada transformacion, al igua-lar terminos obtendremos ecuaciones para resolver el problema cinematicoinverso:
(0A1)−1T =1 A2 ∗2 A3
(1A2)−1(0A1)
−1T =2 A3 (3.12)
3.3. Estudio cinematico diferencial
Segun [12] el estudio cinematico diferencial de un robot resuelve el pro-blema de relacionar las velocidades del efector final X con las velocidades delas articulaciones q. El vector de velocidades articulares q un manipulador den GDL es un vector nx1
q =[q1 q2 . . . qn
]T(3.13)
y y el vector de velocidades del efector final X generalmente suele ser unvector de dimension 6x1
X =[Xn Yn Zn ωXn ωYn ωZn
]T=
[0dn0ωn
]=
[0vn0ωn
](3.14)
Los elementos del vector de velocidades del efector final X es linealmenteproporcional a los elementos del vector de las velocidades articulares q porla siguiente expresion :
X = Jq (3.15)
Donde J(q) es una matriz de 6xn llamada jacobiano del robot. A su vez elJacobiano se divide en dos submatrices:
J =
[JvJω
](3.16)
Jv y Jω son las submatrices correspondientes al jacobiano lineal y al jacobianoangular, respectivamente. Por lo que la expresion 3.15 se puede expandir dela siguiente manera en combinacion con las expresiones 3.13 y 3.14:[
0vn0ωn
]=
[JvJω
] [q1 q2 . . . qn
]T(3.17)
Trabajo fin de Grado Pag. 46
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
El Jacobiano de un manipulador de n grados de libertad se obtiene de lasiguiente manera:
J =
[∂0dn∂q1
∂0dn∂q2
. . . ∂0dn∂qn
∂0ωn
∂q1
∂0ωn
∂q2. . . ∂0ωn
∂qn
](3.18)
3.4. Estudio dinamico
Mientras que las ecuaciones de la cinematica describen el movimiento delsin tener en consideracion las fuerzas y momentos que producen el movimien-to, las ecuaciones dinamicas describen explıcitamente la relacion entre lasfuerzas y el movimiento. Tal y como vemos en [21] la manera mas apropiadapara describir el modelo dinamico de un robot de 4 GDL es la formulacionde Euler-Lagrange, por lo tanto nos centraremos en la aplicacion de estemetodo. Se parte del principio de trabajo virtual.
Partiremos de las expresiones generales para la energıa cinetica y poten-cial. La energıa cinetica de un solido rıgido tiene dos componentes, la asociadaa la velocidad lineal y la asociada a la velocidad angular respecto al eje dereferencia de estudio, vease figura 3.6.
Figura 3.6: Solido rıgido. Fuente: [21]
La expresion de la energıa cinetica sigue como:
κ =1
2mvTv +
1
2ωT Iω (3.19)
Donde m es la masa total, υ y ω son las velocidades linear y angular, respec-tivamente, I es una matriz simetrica de 3x3 llamada Tensor de inercia.
Trabajo fin de Grado Pag. 47
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.4.1. Tensor de inercia
Se entiende que las velocidades υ y ω estan expresadas en el sistemade referencia inercial. En ese caso sabemos que ω se halla por la matrizantisimetrica:
S(ω) = R′RT (3.20)
donde R es la matriz de orientacion Para poder expresar el termino ωT Iω, esnecesario definir el tensor de inercia I. El tensor de inercia relativo al sistemade referencia inercial dependera de la configuracion del objeto. Si en lugarde eso, definimos el tensor de inercia en el sistema de referencia del solido,entonces los dos tensores de inercia se relacionan de la siguiente manera:
I = RIRT (3.21)
esta consideracion es de importancia dado que de este modo el la matriz deinercia es constante e independiente del movimiento. El tensor de inercia secalcula como:
I =
Ixx Ixy IxzIyx Iyy IyzIzx Izy Izz
El calculo de estos elementos resulta sencillo para solidos simples tales comoparalelepıpedos, esferas, etc. No obstante para solidos de geometrıa complejase hace necesario el uso de programas de diseno 3D tales como Catia paracalcularlos. El tensor de inercia se puede simplificar aun mas si el eje inercialse coloca sobre el centro de masas del eslabon anulandose ası los productosde inercia [1].
3.4.2. Energia cinetica en un robot de n articulaciones
Considerando ahora de caso de estudio un manipulador compuesto de narticulaciones. Las velocidades lineales y angulares se puede expresar me-diante la matriz Jacobiana y las derivadas de las coordenadas articulares,obteniendo las siguientes expresiones:
vi = Jvi(q)q, ωi = Jωi(q)q (3.22)
Considerando ahora que la masa de la articulacion i es mi, y que la matriz deinercia se toma respecto al centro de masas(cdm),y equivale a Ii, se obtienela siguiente expresion para la energıa cinetica del manipulador:
K =1
2qT
n∑i=1
[miJvi(q)TJvi(q) + Jωi
(q)TRi(q)IiRi(q)TJωi
(q)]q (3.23)
Trabajo fin de Grado Pag. 48
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
K =1
2qTD(q)q (3.24)
Donde D(q) se corresponde como la matriz de inercia del manipulador, dia-gonal definida positiva.
3.4.3. Energıa potencial en un robot de n articulacio-nes
Ahora consideremos el termino de la energıa potencial.En la mecanica delsolido rıgido, la unica fuente de energıa potencial es la gravedad.Considerandoque toda la masa de un solido se concentra en el cdm, la energia potencialse puede calcular de la siguiente manera:
Pi = qT rcimi (3.25)
donde g es el vector que indica la direccion de la gravedad en el sistemade referencia inercial y el vector rciindica las coordenadas del cdm de laarticulacion i, por tanto, la energıa potencial del robot se expresa como sigue:
P =n∑i=1
Pi =n∑i=1
qT rcimi (3.26)
Dado que la energıa potencial se expresa en funcion de las coordenadas arti-culares y no en funcion de sus velocidades, la energıa potencial de un mani-pulador solo depende de su configuracion.
3.4.4. Ecuaciones del movimiento
Las ecuaciones Euler-Lagrange son derivadas de la siguiente manera, par-tiendo de:
L = K − P =1
2
∑ij
dij(q)qiqj − P (q) (3.27)
y derivando, segun se explica en [21] se obtiene:∑i
dkj(q)qk +∑ij
cijk(q)qiqj + φk(q) = τk, k = 1, 2, ..., n (3.28)
Donde la matriz D se obtiene de calcular D(θ) =∑N
i=1 JTi MiJi Ademas se
tiene que:
cijk :=1
2
∂dkj∂qi
+∂dki∂qj− ∂dij∂qk
(3.29)
Trabajo fin de Grado Pag. 49
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Para un valor de k fijo se tiene que cijk = cjik, lo cual simplifica bastante elcalculo de estos terminos. Si finalmente definimos:
φk =∂P
∂qk(3.30)
podemos reescribir las ecuaciones de E-L de la siguiente forma matricial:
D(q)q + C(q, q)q + q(q) = τ (3.31)
En el siguiente capıtulo lo calcularemos para el caso particular del robot deeste TFG.
3.4.5. Modelo matematico de un Motor DC
El modelo matematico para un motor de imanes permanentes se obtie-ne desarrollando las ecuaciones diferenciales que rigen su funcionamiento,tiene dos partes diferenciadas: la parte electrica y la parte mecanica(veasefigura 3.7)
Figura 3.7: Motor DC: Esquema electrico.Fuente: [5]
Donde:
V = Voltaje de armadura
L = Inductacia de la armadura
R = resistencia de la armadura
Vb = Voltaje contraelectromotriz
ia =Corriente de armadura
θm = Posicion del rotor
τm =Torque generado
Trabajo fin de Grado Pag. 50
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
τl =Torque de carga
φ =Flujo magnetico
La ecuacion diferencial se escribe como:
Liadt∗Ria = V − Vb (3.32)
Dado que el flujo es constate el torque proporcionado por el motor vienedado por:
τm = K1φia = Kmia (3.33)
Donde Km is la constante de torque en Nm/A por lo que de la figura ??tenemos que:
Vb = K2φωm = Kbωm = Kbdθmdt
(3.34)
donde Kb se corresponde con la constante contraelectromotriz. Para el casode un motor con reductora, el equivalente al circuito dinamico queda comose ve en la figura 3.8
Figura 3.8: Diagrama dinamico de un motor DC con reductora. Fuente: [21]
Las reductoras suelen tener valores tıpicamente entre 20 y 200 por lo querefiriendonos a la figura 3.8 designamosJm = Ja + Jg como la suma de lasinercias del actuador y la reductora. La ecuacion de movimiento es entonces:
Jmd2θmdt2
+Bmdθmdt
= τm −τlr
= Kiia −τlr
(3.35)
Aplicando la transformada de laplace, el conjunto de ecuaciones diferencialesque describen el comportamiento del motor se expresan como:
(Ls+R)Ia(s) = V (s)−Kb(s)θm(s)
(J2m +Bm)θm(s) = KiIa(s)−
τlr
(s) (3.36)
Trabajo fin de Grado Pag. 51
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Quedando el diagrama de bloques como se indica en la figura 3.9 :
Figura 3.9: Diagrama de bloques de un motor DC con reductora. Fuente:[21]
Como se puede observar en la figura el giro del motor respondera a dosestımulos: El voltaje aplicado y el par producido por el eslabon acoplado.Por lo que se tienen dos funciones de transferencia: V (s) respecto de θmcuando τl = 0:
θm(s)
V (s)=
Km
s[(Ls+R)(Jm +Bm) +KbKm](3.37)
τl(s) respecto de θm cuando V = 0:
θm(s)
τl(s)=
−(Ls+R)
s[(Ls+R)(Jm +Bm) +KbKm](3.38)
Generalmente el polo electrico formado por (Ls + R) = 0 es mucho masrapido que el polo dinamico generado por Jms + Bm = 0 y mas aun enpresencias de reductoras altas, por lo que se suele considerar como constanteLR
reescribiendo las funciones de transferencia anteriores de esta manera: V (s)respecto de θm cuandoτl = 0:
θm(s)
V (s)=
Km/R
s[Jm +Bm +KbKm/R](3.39)
τl(s) respecto de θm cuando V = 0:
θm(s)
τl(s)=
−1
s[Jm +Bm +KbKm/R](3.40)
No-linealidades Tal y como se describe en [15] un motorDC ademas deser descrito por su circuito electromecanico su caracterizacion ha de ser com-plementada mediante las no-linealidades que estan presentes en el sistemareal y que en funcion del tipo de transmision y reductora utilizadas tienenmayor o menor efecto en la dinamica del motor.
Trabajo fin de Grado Pag. 52
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Zona muerta Se corresponde con el rango de valores de la entrada enel que la salida no cambia, en la figura 3.10 se observa el su diagrama debloques. Para el caso de un motor DC este efecto viene dado por la fuerzacontraelectromotriz. Esta linealidad es de vital importancia pues si se disenaun regulador sin tenerla en cuenta, el controlador calculara valores de tensionpara mover el motor como si la relacion de tension aplicada/ movimiento fueselineal y no lo es.
Figura 3.10: Diagrama de bloques de la zona muerta. Fuente: [15]
Backslash El backslash o juego angular es una no-linealidad presenteen motores con reductora de tren de engranajes. Se describe como el rango enel cual se cambia la variable de entrada en un cambio de direccion, en este casola tension aplicada al motor, sin observar cambio en la salida, desplazamientoangular Esta no-linealidad se puede mitigar colocando el encoder en la salidade la reductora, como es el caso de mis motores.
Trabajo fin de Grado Pag. 53
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.5. Control
3.5.1. Fundametos del regulador PID
El regulador PID es uno de los mas extendidos. Como se ve en [6] esuno de los algoritmos mas implantados en la industria, dada la robustez ydiversidad de sus aplicaciones. La estructura de un PID se puede observaren la figura 3.11.
Figura 3.11: Estructura PID. Fuente: Google Images
Se pueden obserbar tres acciones: Proporcional(P),Integral(I) y Derivati-va (D). Los tipos de reguladores que se pueden emplear con estas accionesson: P, PI,PD y PID.
Accion proporcional(P): Su salida es proporcional al error, su fun-cion de transferencia es:
Cp(s) = Kp (3.41)
Kp se corresponde con la ganancia proporcional ajustable.
Accion integral(I): Su salida es proporcional al error acumulado.
u(t) = Ki
∫ t
0
e(τ)dτCi(s) =Ki
s(3.42)
Accion derivativa(D): Su salida es proporcional a la derivada delerror.
u(t) =de(t)
dtCd(s) = Kds (3.43)
Es una accion con la que hay que tener precaucion porque puede pro-ducir efectos adversos tales como la patada en la consigna.
Trabajo fin de Grado Pag. 54
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Accion proporcional-integral PI: Con un control proporcional, esnecesario que exista error para tener una accion de control distinta decero. Con accion integral, un error pequeno positivo siempre nos darauna accion de control creciente, y si fuera negativo la senal de controlsera decreciente.Este razonamiento sencillo nos muestra que el error enregimen permanente sera siempre cero. Muchos controladores indus-triales tienen solo accion PI. Se puede demostrar que un control PI esadecuado para todos los procesos donde la dinamica es esencialmen-te de primer orden. Lo que puede demostrarse en forma sencilla, porejemplo, mediante un ensayo al escalon.
Accion Proporcional-derivativa(PD): Su ecuacion en el dominiodel tiempo se corresponde con :
u(t) = kpe(t) +KpTdde(t)
dt(3.44)
y en el dominio de la frecuencia con:
CPD = Kp +KpTds (3.45)
La accion D es de caracter anticipativo, hace mas rapida la accion decontrol. Combinada con una accion proporcional se obtiene un regula-dor sensible a variaciones. Pese a que no afecta de manera directa alestado estacionario si lo hace en el transitorio, anadiendo amortigua-miento, permitiendo mayores valores de Kp.
Accion Proporcional-Integral-Derivativa PID: Aquı se combinanlas tres acciones individuales comentadas anteriormente. Su ecuacionen el dominio del tiempo se corresponde con:
u(t) = Kpe(t) +Kp
Ti
∫ t
0
e(τ)dτ +KpTdde(t)
dt(3.46)
y su respuesta en frecuencia con:
CPID(s) = Kp(1 +1
Tis+ Tds) (3.47)
Ademas de las configuraciones descritas tambien es comun encontrarotras configuraciones tales como PI-D, I-PD o el PID con dos gradosde libertad.
Trabajo fin de Grado Pag. 55
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Metodo de ajuste Ziegler-Nichols Segun [18]corresponde con uno delos metodos tıpicos para ajuste practico de PID.
Figura 3.12: Lazo cerrado con controlador P. Fuente: [6]
Haciendo uso de la configuracion descrita en la figura 3.1 se proceden arealizar los siguientes pasos:
Se aumenta laKp hasta obtener una oscilacion mantenida.
Anotar el valor de Kp ası como el periodo de oscilacion.
Ajustar el resto de parametros a corde con la tabla de la figura
Cuadro 3.1: Tabla de ajuste parametros PID. Fuente: [6]
Asignacion directa de polos Partiendo de un sistema de orden de laforma:
G(s) =K
τs+ 1(3.48)
Siendo K la ganancia en lazo abierto y τ la constante de tiempo del sistema.Anadiendole un controlador del tipo PI y cerrando el lazo de realimentacion,la funcion de transferencia se describe como:
N(s) =
KKp
Tiτ(τs+ 1)
s2 + 1τ
+KKps+ KKp
Tiτ(τs+ 1)
(3.49)
Trabajo fin de Grado Pag. 56
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Igualando N(s) a la funcion de transferencia tıpica de un segundo orden:
G(s) =ω2n
s2 + 2ξωn + ω2n
(3.50)
Igualando terminos y despejando nos quedan las siguientes expresiones paracalcular Kp y Ti
Kp =2τξωn − 1
K(3.51)
Ti =KKp
τω2d
(3.52)
Como se ha podido observar, la dinamica del robot no es sencilla y tampo-co lineal, ni se trata de un sistema SISO. Por lo que el objetivo es buscarla aproximacion que mejor satisfaga nuestros requerimientos. Primeramenterecurriremos a los clasicos reguladores P, PI, PD y PID. Las opciones paracomo tratar el control del robot son las siguientes:
Control de cada Motor DC por separado, sin considerar ni la accion delos demas ni la dinamica de la estructura, sin tener en cuenta las nolinealidades del motor.
Control de cada Motor DC teniendo en cuenta el par producido porla estructura debido a la gravedad, considerandola como una perturba-cion. Esta consideracion puede resultar efectiva para bajas velocidadesen las que los terminos dependientes de la velocidad y aceleracion dela estructura puedan ser despreciables.
Considerar los efectos de inercia, gravedad y coriolis, controlando elpar al que esta sometido cada Motor DC. Donde aquı ya se tienen encuenta los efectos de unos motores sobre otros.
Considerar inercia, friccion, gravedad, coriolis y las no linealidades delos motores.
3.5.2. Control monoarticular
En el caso de los motores DC, su dinamica es lineal y facil de compren-der, y el efecto de la reductora es suficientemente grande para desacoplar elsistema reduciendo la inercia de acoplamiento entre articulaciones. No obs-tante la presencia de reductoras introducen friccion, juego angular y demasno-linealidades. En esta seccion abordaremos la estrategia de control mas
Trabajo fin de Grado Pag. 57
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
simple : control independiente de articulacion. En este tipo de controladorcada eje del manipulador es controlado por un sistema SISO. Todos los demasefectos provocados por acoplamientos entre articulaciones son consideradoscomo perturbaciones. En la figura 3.13 se puede obserbar el diagrama debloques de una estructura tıpica de control.
Figura 3.13: Estructura basica de control. Fuente: [21]
El objetivo es de disenar un regulador que siga una senal de salida dada poruna senal de referencia. La senal de control no es el unico efecto que actuasobre el sistema, estan presentes las perturbaciones, las cuales son entradasque no controlamos y tienen efecto sobre la salida. Por lo que el controladordebera disenarse para reducir su efecto. Los objetivos de seguimiento deconsiguna y rechazo de perturbacion son los objetivos principales de cualquierestrategia de control. En la seccion de estudio dinamico obtuvimos tanto laexpresion general de la dinamica del manipulador, dada por la ecuacion :
D(q)q + C(q, q)q + q(q) = τ
ası como la dinamica del actuador, en este caso un motor DC de imanespermanentes con reductora(vease figura 3.9).
Seguimiento de consigna En esta parte estudiaremos el seguimiento deconsigna mediante el uso de reguladores PD. Este tipo de control es adecua-do para aplicaciones que no requieran movimientos rapidos, especialmenteen robots con reductoras grandes entre actuadores y articulaciones. Para elsiguiente estudio asumiremos que :
qk = θsk = θmk/rk (3.53)
τlk = τk
Trabajo fin de Grado Pag. 58
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Entonces para K = 1,..,n las ecuaciones de movimiento del manipulador sepueden escribir como :
n∑j=1
djk(q)qj +n∑
i,j=1
cijk(q)qiqj + qk(p) = τk (3.54)
Jmkθmk
+ (Bmk+KbkKmk
/Rk)θmk= Kmk
/RkVk − τk/rk (3.55)
Combinando ambas ecuaciones queda:
(Jmk+
1
r2kdkk(q))θmk
+ (Bmk+KbkKmk
/Rk)θmk= Kmk
/RkVk − dk (3.56)
Donde dk se define como:
dk :=1
rk
∑j 6=k
qj +∑i,j
cijkqiqj + gk (3.57)
Notese que el coeficiente θmkde la expresion anterior es una funcion no li-
neal de la configuracion del manipulador,q . No obstante grandes reductorasmitigan la influencia de este termino reduciendo este termino a una iner-cia constante o inercia efectiva Jeffk como una aproximacion a la expresionexacta de Jmk
+ 1rkdkk(q) si entonces definimos:
Beff = Bm +KbkKmk/Rky
uk = Kmk/RkVk (3.58)
podemos escribir la ecuacion que igualamos antes de la siguiente manera:
Jeff θmk+Beff θmk
= uk − dk (3.59)
La ventaja de este modelo es su simplicidad ya que la dinamica del motores lineal. El efecto de las no linealidades se tratan como perturbacion dk,que deberıan ser de efecto reducido debido a la alta reductora y a que lasvelocidades y aceleraciones se buscaran reducidas para mitigar este efecto almaximo. El diagrama de bloques queda como se ve en la figura 3.14:
Figura 3.14: Diagrama de bloques simplificado. Fuente: [21]
Trabajo fin de Grado Pag. 59
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
Compensador PD Como primera aproximacion de control, eligiremos elcompensador PD. La ecuacion de del sistema de lazo cerrado sigue de lasiguiente manera:
U(s) = Kp(θd(s)− θ(s))−KDsθ(s) (3.60)
donde Kp, KD son las ganancias proporcional y derivativa respectivamente.El diagrama de bloques para el lazo cerrado con un PD queda como se
ve en la figura 3.15
Figura 3.15: Diagrama de bloques de un PD. Fuente: [21]
Aplicando la transformada de Laplace en ambos lados de la expresion 3.60usando de sistema la expresion 3.59 el sistema lazo cerrado queda de lasiguiente manera:
θm(s) =KKp
Ω(s)θd(s)− 1
Ω(s)D(s) (3.61)
Donde Ω(s) es el polinomio caracteristico en lazo cerrado:
Ω(s) = Jeffs2 + (Beff +KKD)s+KKp (3.62)
Compensacion de gravedad Partiendo del modelo dinamico del motorexpresado en la ecuacion:
τ = M(q)q + C(q, q) +G(q) (3.63)
Tomemos q = qd − q como el error. Como se expresa en [7] la ley de controlpara un regulador PD con compensacion de gravedad se expresa como:
τ = Kpq −KDq +G(q) (3.64)
Donde Kp y Kd son matrices diagonales definidas positivas. Existen dos tiposde reguladores PD que compensan gravedad, los llamados on-line y los off-line. En el caso del online, el esfuerzo relativo a la gravedad se calcula en cada
Trabajo fin de Grado Pag. 60
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
momento, en el caso del off-line, se calcula en base al objetivo de posicion aalcanzar. Para probar la estabilidad global recurrimos al termino cuadraticode Lyapunov como funcion candidata:
V (q, q) =1
2qTM(q)q +
1
2qTKpq∀q, q 6= 0 (3.65)
Donde el primer termino representa la energıa cinetica del sistema y el segun-do la energıa potencial. Derivando respecto al tiempo y teniendo en cuentaque qd es constante, se tiene que :
V = qTM(q)q +1
2qTM(q)q − qTKpq (3.66)
Despejando M(q)q en 3.63 y sustituyendo en 3.66, nos queda que:
V =1
2qT (M(q)− 2C(q, q))q + qT (τ −G(q)−Kp) (3.67)
El primer termino se anula por la antisimetrıa de la matriz N = M − 2C,por lo tanto la ecuacion de control queda como:
V = −qTKdq (3.68)
De acuerdo con la ecuacion 3.68, V disminuye cuando q 6= 0 para todaslas trayectorias. Se demuestra pues que el sistema es capaz de alcanzar laestabilidad en el equilibrio para q ≡ 0 y q ≡ 0 La estabilidad esta aseguradapara cualquier valor de Kp o Kd siempre y cuando sean positivas. Visto loanterior, ası como la simplificacion del orden del motor vista en el apartadoanterior, un regulador PD con compensacion de gravedad es un buen controlpara empezar.
Trabajo fin de Grado Pag. 61
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.5.3. Control multiarticular
Segun [1] la ecuacion del PID escrita de manera matricial se define como:
τ = Kpθ +Ki
∫θdt+KD
˙θ (3.69)
Donde KP ,KI y KD son matrices diagonales definidas positivas, θ es elerror de posicion. Para el caso del modelo dinamico de un manipulador cuyadinamica se describe con D(θ)θ + C(θ, θ)θ + g(θ) la ley de control del PIDse escribe como:
τ = KP θ +KIξ +KD˙θ (3.70)
ξ = θ (3.71)
La ecuacion en el lazo cerrado se obtiene igualando la accion de control a laecuacion de la dinamica, resultando en:
D(θ)θ + C(θ, θ)θ + g(θ) = KP θ +KIξ +KD˙θ (3.72)
ξ = θ (3.73)
que en espacio de estado se escribe como:
d
dt
ξθ˙θ
(3.74)
=
θ˙θ
θd −D(θ)−1[KP θ +KIξ +KD˙θ − C(θ, θ)θ − q(θ)]
(3.75)
En equilibro se tiene que θ = 0 y que ˙θ = 0 lo que implica que θ = θd Portanto la ecuacion de arriba produce :
[ξT θT˙θT ] = [ξ∗00] (3.76)
Donde :
ξ∗ = K−1i [D(θd)θd + C(θd, θd)θd + g(θ)]
d
dt
[θdθd
]=
[θd
D(θd)−1[τ − C(θd, θd)θd + g(θ)]
]
Trabajo fin de Grado Pag. 62
CAPITULO 3. FUNDAMENTO TEORICO DE UN MANIPULADORROBOTICO
3.5.4. Linealizacion del lazo de realimetacion
La idea principal de linealizar el lazo de realimentacion es la de disenarun control no lineal que linealice el sistema no lineal mediante un apropiadocambio de coordenadas en el espacio de estado. Para la dinamica del mani-pulador la ley de contro u se escribe como:
u = θ = D(θ)−1(τ − C(θd, θd)θd + g(θ)) (3.77)
Tras definir el error de seguimiento como θ = θ − θd la ecuacion de controlse convierte en:
u = θd − 2λ ˙θ − λ2θ (3.78)
donde λ > 0 lleva a un sistema de lazo cerrado exponencialmente establedado que las ecuaciones de la dinamica pueden ser derivadas de 3.77 y 3.78usando la forma :
¨θ − 2λ ˙θ − λ2θ = 0 (3.79)
El modelo dinamico se puede reescribir como:
D(θ)u+ c(θ, θ)θ + g(θ) = τ (3.80)
Conocido como el metodo de torque calculado. Una vez que la dinamica hasido modelada , el controlador de realimentacion se escribe como:
D(θ) = (θd − 2λ ˙θ − λ2θ) + c(θ, θ)θ + g(θ) = τ (3.81)
Trabajo fin de Grado Pag. 63
Capıtulo 4
Desarrollo tecnico eimplementacion
64
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.1. Estudio cinematico directo
4.1.1. Metodos geometricos
Al igual que con el problema cinematico inverso, el directo se resuelvefacilmente siguiendo [10]. Tomando de base la figura 4.1, se plantean lasecuaciones para la situacion en el plano al cual los ejes de los ultimos 3 GDLson perpendiculares:
x1 = l2 cos(q2) + l3 cos(q2 + q3) + l4 cos(q2 + q3 + q4)
y1 = l2 sin(q2) + l3 sin(q2 + q3) + l4 sin(q2 + q3 + q4)
z1 = 0
φe = q2 + q3 + q4 (4.1)
Figura 4.1: Representacion de los ultimos 3 GDL. Fuente: [10]
La obtencion de las coordenadas cartesianas respecto de la base del robot apartir de estos calculos resulta sencillo. Se toma x1 como la proyeccion delrobot sobre el suelo, a la que llamaremos r por lo tanto queda :
r = l2 cos(q2) + l3 cos(q2 + q3) + l4 cos(q2 + q3 + q4)
. Dado que la coordenada y del plano corresponde al eje z de la base delrobot, la coordenada z quedara definida como:
z = l1 + l2 sin(q2) + l3 sin(q2 + q3) + l4 sin(q2 + q3 + q4)
Trabajo fin de Grado Pag. 65
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
. Proyectando r sobre los ejes x e y de la base del robot, finalmente elproblema cinematico directo queda resuelto por las siguientes ecuaciones:
x1 = r cos(q1)
y1 = r sin(q1)
x1 = cos(q1)(0,080 cos(q2) + 0,080 cos(q2 + q3) + 0,090 cos(q2 + q3 + q4))
y1 = sin(q1)(0,080 cos(q2) + 0,080 cos(q2 + q3) + 0,090 cos(q2 + q3 + q4))
z1 = 0,115 + 0,080 sin(q2) + 0,080 sin(q2 + q3) + 0,090 sin(q2 + q3 + q4)
φe = q2 + q3 + q4 (4.2)
Trabajo fin de Grado Pag. 66
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.1.2. Denavit-Hartenberg
Como vimos en el capıtulo anterior el metodo D-H resulta muy util pararesolver el problema cinematico directo para aquellos casos en los metodosgeometricos no son tan eficaces. Aplicando el metodo D-H visto en [5], lacolocacion de los ejes resulta en la figura 4.2.
Figura 4.2: Situacion ejes D-H. Fuente: Propia
Procedemos a sacar la tabla de parametros D-H procediendo como indica[5]. Vease tabla 4.1.
αi ai θi di
1π
20 0 0,115
2 0 0,08 0 03 0 0,08 0 04 0 0,09 0 0
Cuadro 4.1: Parametros D-H. Fuente: Propia
Trabajo fin de Grado Pag. 67
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Por [5] tambien sabemos que una vez obtenidos todos los parametrosD-H podemos expresar cada una de las transformaciones homogeneas entreejes mediante la siguiente matriz:
Ti =
Cθi −CαiSθi SαiSθi aiCθiSθi CαiCθi −SαiCθi aiSθi0 Sαi Cαi di0 0 0 1
Resultando en las siguientes matrices de transformacion:
T01 =
Cq1 0 Sq1 0Sq1 0 −Cq1 00 1 0 l10 0 0 1
T12 =
Cq2 Sq2 0 Cq2l2Sq2 −Cq2 0 Sq2l20 0 1 00 0 0 1
T23 =
Cq3 Sq3 0 Cq3l3Sq3 −Cq3 0 Sq3l30 0 1 00 0 0 1
T34 =
Cq4 Sq4 0 Cq4l4Sq4 −Cq4 0 Sq4l40 0 1 00 0 0 1
Donde la matriz de transformacion completa queda como :T04 = T01T12T23T34
T04 =
[C(q2+q3+q4)C(q1) −S(q2+q3+q4)Cq1 Sq1 0,080Cq1Cq2+(0,090C(q2+q3+q4)(cq1)+0,080C(q2+q3)Cq1C(q2+q3+q4)S(q1) −S(q2+q3+q4)Sq1 −Cq1 0,080Cq2Sq1+(0,090C(q2+q3+q4)(sq1)+0,080C(q2+q3)Sq1S(q2+q3+q4) C(q2+q3+q4) 0 0,090S(q2+q3+q4)+0,080S(q2+q3)+0,080S(q2)+0,115
0 0 0 1
]
Trabajo fin de Grado Pag. 68
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Igualando la matriz T04 a la siguiente matriz:
Te =
nx ox ax pxny oy ay pynz oz az pz0 0 0 1
Obtenemos las siguientes expresiones:
px = 0,08Cq1Cq2 + (0,09C(q2 + q3 + q4)(cq1) + 0,08C(q2 + q3)Cq1
py = 0,08Cq2Sq1 + (0,09C(q2 + q3 + q4)(sq1) + 0,08C(q2 + q3)Sq1
pz = 0,09S(q2 + q3 + q4) + 0,08S(q2 + q3) + 0,08S(q2) + 0,115
nz = S(q2 + q3 + q4)
oz = C(q2 + q3 + q4)
φe = q2 + q3 + q4
φe = arctan(nzoz
) (4.3)
Las cuales se corresponden con las obtenidas en el analisis geometrico delproblema cinematico directo.
Trabajo fin de Grado Pag. 69
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.1.3. Problema cinematico inverso
Para la resolucion del problema inverso he recurrido en mayor parte a[10]. Donde se resuelven los 3 ultimos grados de mi robot. Dado que los ejesde las ultimas 3 articulaciones son perpendiculares al mismo plano y paralelosentre sı, el problema cinematico inverso se resuelve con mediana facilidad.Nos basaremos en la figura 4.3 para plantear las ecuaciones de problemainverso para los ultimos 3 GDL. El objetivo es conseguir q1, q2, q3, q4 conx, y, z, φ dados.
Figura 4.3: Representacion de los ultimos 3 GDL. Fuente: [10]
Tomando como base las ecuaciones 4.1 y 4.2. Podemos definir la situacionespacial del efector final de la siguiente manera:
xe =√x2 + y2
ye = z − l1xe = l2 cos(q2) + l3 cos(q2 + q3) + l4 cos(q2 + q3 + q4)
ye = l2 sin(q2) + l3 sin(q2 + q3) + l4 sin(q2 + q3 + q4)
φe = q2 + q3 + q4 (4.4)
Coordenadas de la muneca:
xw = xe − l4 cos(φe)
yw = ye − l4 sin(φe) (4.5)
A partir de lo cual se puede definir:
α = arctan(ywxw
) (4.6)
Trabajo fin de Grado Pag. 70
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Aplicando el teorema del coseno sobre el triangulo OAB se obtiene:
r = x2w + y2wl22 + l23 − 2l2l3 cos(β) = r2 (4.7)
Resolviendo se obtiene:
q3 = π − β = π − arc cos(l22 + l23 − x2w − y2w
2l2l3) (4.8)
De manera similar se obtiene:
r2 + l22 − 2rl2 cos(γ) = l23 (4.9)
Resolviendo para γ:
q2 = α− γ = arctan(ywxw
)− arc cos(x2w + y2w − l22 − l23
2l2√x2w + y2w
) (4.10)
Habiendo obtenido q2, q3 se obtiene:
q4 = φe − q2 − q3 (4.11)
Como se puede observar en la figura 4.4, existen dos posibles soluciones parael problema cinematico inverso: codo arriba y codo abajo.
Figura 4.4: Configuraciones del codo. Fuente: [10]
Trabajo fin de Grado Pag. 71
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
La obtencion de las ecuaciones para el caso de codo arriba deriva de lasobtenidas para codo abajo de la siguiente manera:
q′
2 = q2 + 2γ
q′
3 = −q3q′
4 = φe − q′
2 − q′
3 = q4 + 2q2 − 2γ (4.12)
La obtencion de la coordenada articular de la base queda de la siguientemanera:
q1 = arctan(y
x) (4.13)
4.2. Estudio diferencial
De [1] sabemos que las matrices jacobianas para cada articulacion, sonlas siguientes:
J1 =
0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 01 0 0 0
J2 =
0 0 0 0r2c2 0 0 0
0 r2 0 0s2 0 0 00 −1 0 0c2 0 0 0
J3 =
0 l2s3 0 0
r3c23 + l2c2 0 0 00 r3 + l2c3 r3 0s23 0 0 00 −1 1 0c23 0 0 0
J4 =
0 l2s34 + l3s4 l3s4 0
l3c23 + l2c2 + r4c234 0 0 00 r4 + l2c34 + l3c4 r4 + l3c4 r4s234 0 0 00 −1 −1 −1c234 0 0 0
Jv =
[−S1(0,089C234+0,08C23+0,075C2) −C1(0,089S234+0,08S23+0,075S2) −C1(0,089S234+0,08S23) −0,089S234C1
C1(0,089C234+0,08C23+0,075C2) −S1(0,089S234+0,08S23+0,075S2) −S1(0,089S234+0,08S23) −0,089S234S1
0 0,089C234+0,08C23+0,075C2 0,089C234+0,08C23 0,089C234
]
Trabajo fin de Grado Pag. 72
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.3. Estructura mecanica
De los robots vistos en el estado del arte, el que mas llamo mi atencion decara a un diseno inicial fue el de Juergen Lessner. Recientemente habıa vistoun proyecto de modificacion de un servo para usarlo como Motor DC conun encoder, tal y como al final he hecho yo con mis motores. A continuacionveremos las iteraciones de diseno que he ido realizando hasta finalmenteobtener el diseno final. Para el diseno 3D he usado la herramienta de softwarelibre FreeCAD. Los problemas originados por el diseno mecanico retrasaronmucho la evolucion del trabajo fin de grado pues no disponıa de una impresora3D para poder imprimir las nuevas piezas y hasta que no me compre una elproyecto avanzo lentamente.
4.3.1. Robot Mark I
Para la prueba de concepto decidı imprimirme el robot de Juergen Less-ner, con el fin de verificar cinematicas y diversos calculos. En su canal deYoutube se pueden ver vıdeos del funcionamiento del mismo. No obstanteobservando los archivos de Arduino que comparte para controlar el robot, sepuede observar que no lleva implementada ninguna accion de control reali-mentado sobre los motores. Pues usa servos sin modificar. Pese a que en suweb tiene hechos unos calculos de par en los que justifica su diseno, a la horade la verdad a mi me ha dado problemas, de hecho se me ha quemado algunque otro servo. Lo mas util del diseno de Juergen sin duda es la base, con elsistema de rodamientos para repartir el peso de la estructura, en lo que serefiere al resto de eslabones, los he redisenado por completo.
Figura 4.5: Robot Mark I. Fuente: Propia
Trabajo fin de Grado Pag. 73
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.3.2. Robot Mark II
Para el segundo diseno reduje el numero de grados de libertad de 5 a4 por dos razones: La primera de ellas, el peso y la segunda, los calculoscinematicos y dinamicos se simplificaban bastante. Las modificaciones quehice fueron las siguientes:
Quitar el Motor que me daba Roll en la muneca.
Reducir de tamano la pieza de la muneca.
Reducir la longitud del segundo eslabon de 200 a 90 mm.
Reducir la longitud del tercer eslabon de 120 a 90 mm.
Modificar el anclaje de uno de los motores de la segunda articulacionpara disponerlos enfrentados.
En la figura 4.6 se ve el diseno Mark II impreso en 3D.
Figura 4.6: Robot Mark II. Fuente: Propia
Trabajo fin de Grado Pag. 74
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.3.3. Robot Mark III
Pese a haber mejorado bastante del primer al segundo diseno, seguıapesando demasiado. Es por ello que me puse a disenar otra vez todo , salvola base. El objeto de este diseno es reducir todo lo posible las inercias decara a poder obtener un modelo dinamico simplificado. Las modificacionesque realice en esta version son las siguientes:
Rediseno de la pieza de la muneca, disminuyendo su tamano y adaptando-la para poner un anclaje para varios efectores finales.
Rediseno del tercer eslabon. Uno de los principales problemas de lasversiones anteriores es que este eslabon cargaba con dos motores, porlo que el motor de la tercera articulacion tenıa demasiada carga. Estose soluciono moviendo el motor de la tercera articulacion al segundoeslabon.
Rediseno del segundo eslabon, reduciendo su longitud de 90 a 75 mm.
Diseno de una pinza mas ligera, mas pequena y usando un servo tam-bien mas pequeno, un SG90.
En la figura 4.7 se ve el diseno Mark III impreso en 3D.
Figura 4.7: Robot Mark III. Fuente: Propia
Trabajo fin de Grado Pag. 75
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.3.4. Efectores finales
Pinza Robot Juergen Es un diseno 3D de una pinza que se puede en-contrar con facilidad en canales de compra online, a su vez tambien estadisponible para imprimir en 3D(vease figura 4.8).
Figura 4.8: Pinza Robot. Fuente: [16]
Pinza ABS Esta pinza fue descartada segun fue montada dado que esenorme y esta sobre-dimensionada para mi robot, no obstante la guardarepor si algun dıa me es util(vease figura 4.9).
Figura 4.9: Pinza ABS. Fuente: Aliexpress
Trabajo fin de Grado Pag. 76
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Pinza Mark III La pinza ha sido reducida lo maximo posible, en tamano ypeso. Hemos pasado de una pinza de casi 150g a una de 56g. No esta disenadapara manipular objetos voluminosos pero si para satisfacer los objetivos deeste trabajo fin de grado. En la figura 4.10 se ve una representacion deldiseno CAD de la pinza.
Figura 4.10: Pinza Robot Mark III. Fuente: Propia
Trabajo fin de Grado Pag. 77
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.4. Estudio dinamico
Tal y como se puede observar en [1] el metodo mas apropiado paradescribir la dinamica de un manipulador se corresponde con el de Euler-Lagrange, dado que el metodo Newton-Euler no sirve mas que hasta 2 GDL.La ecuacion de la dinamica se resume en lo siguiente:
D(θ)θ + C(θ, θ)θ + g(θ) = τ (4.14)
El calculo de la matriz D, viene dado por la siguiente expresion:
D(θ) =N∑i=1
JTi MiJi (4.15)
Donde M corresponde con la matriz de masas e inercias del eslabon en cues-tion, el calculo de esta matriz se puede simplificar bastante considerandoel centro de masa del eslabon como el eje de coordenadas de las inercias,quedando M definida como:
Mi =
mi 0 0 0 0 00 mi 0 0 0 00 0 mi 0 0 00 0 0 Ixi 0 00 0 0 0 Iyi 00 0 0 0 0 Izi
Siendo Ixi, Iyi, Izi los principales momentos de inercia en cada eje.
4.4.1. Calculo de inercias
Para este calculo he usado Catia pues dispone de una herramienta paracalcular las inercias de un solido o conjunto de solidos respecto al eje quecada uno precise. He exportado desde FreeCAD el diseno en formato STEP,anadiendo anadido las densidades de cada parte en las propiedades.
Trabajo fin de Grado Pag. 78
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Primer eslabon Como se puede observar en la figura 4.11:
m1 = 0, 217Kg
Ix1 = 1, 504 ∗ 10−4Kgm2
Iy1 = 5, 344 ∗ 10−4Kgm2
Iz1 = 5, 472 ∗ 10−4Kgm2 (4.16)
M1 =
0,217 0 0 0 0 00 0,217 0 0 0 00 0 0,217 0 0 00 0 0 1,504∗10−4 0 00 0 0 0 5,344∗10−4 00 0 0 0 0 5,472∗10−4
Figura 4.11: Calculo inercia primer eslabon. Fuente: Propia
Trabajo fin de Grado Pag. 79
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Segundo eslabon Como se puede observar en la figura 4.12:
m2 = 0, 091Kg
Ix2 = 7, 544 ∗ 10−5Kgm2
Iy2 = 3, 013 ∗ 10−5Kgm2
Iz2 = 9, 591 ∗ 10−5Kgm2 (4.17)
M2 =
0,091 0 0 0 0 00 0,091 0 0 0 00 0 0,091 0 0 00 0 0 7,544∗10−5 0 00 0 0 0 3,013∗10−5 00 0 0 0 0 9,591∗10−5
Figura 4.12: Calculo inercia segundo eslabon. Fuente: Propia
Trabajo fin de Grado Pag. 80
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Tercer eslabon Como se puede observar en la figura 4.13:
m3 = 0, 088Kg
Ix3 = 6, 201 ∗ 10−5Kgm2
Iy3 = 2, 781 ∗ 10−5Kgm2
Iz3 = 8, 046 ∗ 10−5Kgm2 (4.18)
M3 =
0,088 0 0 0 0 00 0,088 0 0 0 00 0 0,088 0 0 00 0 0 6,201∗10−5 0 00 0 0 0 2,781∗10−5 00 0 0 0 0 8,046∗10−5
Figura 4.13: Calculo inercia tercer eslabon. Fuente: Propia
Trabajo fin de Grado Pag. 81
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Cuarto eslabon Como se puede observar en la figura 4.11:
m4 = 0, 056Kg
Ix4 = 3, 099 ∗ 10−5Kgm2
Iy4 = 1, 901 ∗ 10−5Kgm2
Iz4 = 3, 836 ∗ 10−5Kgm2 (4.19)
M4 =
0,056 0 0 0 0 00 0,056 0 0 0 00 0 0,056 0 0 00 0 0 3,099∗10−5 0 00 0 0 0 1,901∗10−5 00 0 0 0 0 3,836∗10−5
Figura 4.14: Calculo inercia cuarto eslabon. Fuente: Propia
Trabajo fin de Grado Pag. 82
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.4.2. Matriz D
Para el caso de este robot calcularemos la matriz D de la siguiente manera:
D(θ) = JT1 M1J1 + JT2 M2J2 + JT3 M3J3 + JT4 M4J4 (4.20)
Con las matrices J siguientes:
J1 =
0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 01 0 0 0
J2 =
0 0 0 0r2c2 0 0 0
0 r2 0 0s2 0 0 00 −1 0 0c2 0 0 0
J3 =
0 l2s3 0 0
r3c23 + l2c2 0 0 00 r3 + l2c3 r3 0s23 0 0 00 −1 1 0c23 0 0 0
J4 =
0 l2s34 + l3s4 l3s4 0
l3c23 + l2c2 + r4c234 0 0 00 r4 + l2c34 + l3c4 r4 + l3c4 r4s234 0 0 00 −1 −1 −1c234 0 0 0
Tomando como dato los siguientes valores:r1 = 33,11e− 3, r2 = 59,16e− 3, r3 = 61,08e− 3, r4 = 43,73e− 3l1 = 115e− 3, l2 = 75e− 3, l3 = 80e− 3, l4 = 89e− 3Los elementos de la matriz D quedan como: D11 = Ix2s
22 + Ix3s
223 + Ix4s
2234 +
Iz1 + Iz2c22 + Iz3c
223 + Iz4c
2234 +m2r
22c
22
+m3(r3c23 + l2c2)2 +m4(l3c23 + l2c2 + r4c234)
2
D22 = Iy2 + Iy3 + Iy4 +m2r22 +m3l
22s
23 +m3(r3 + l2c3)
2 +m4(l2s23 + l3s4)2 +
m4(r4 + l2c34 + l3c4)2
D23 = Iy3 + Iy4 +m3r3(r3 + l2c3) +m4l3s4(l2s23 + l3s4) +m4(r4 + l3c4)(r4 +l2c34 + l3c4)D24 = Iy4 +m4r4(r4 + l2c34 + l3c4)D33 = Iy3 + Iy4 +m3r
23 +m4l
23s
24 +m4(r4 + l3c4)
2
D34 = Iy4 +m4r4(r4 + l3c4)D44 = Iy4 +m4r
24
Trabajo fin de Grado Pag. 83
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
y sustituyendo los valores queda:D11 = 8,046∗ 10−5C2
23 + 2,733∗ 10−5S223 + 0,0004144C2
2 + 3,009∗ 10−5S22 +
0,056(0,04373C234+0,08C23+0,075C2)2+3,962∗10−5C2
234+1,773∗10−5S2234+
0,088(0,06108C23 + 0,075C2)2 + 0,0005476
D12 = 0, D13 = 0, D14 = 0, D21 = 0
D22 = 0,000495S23 + 0,056(0,075S23 + 0,08S4)
2 + 0,088(0,075C3 + 0,06108)2 +0,056(0,075C34 + 0,08C4 + 0,04373)2 + 0,001167
D23 = 0,0004031C3 + (0,00448C4 + 0,002449)(0,075C34 + 0,08C4 + 0,04373) +0,00448S4(0,075S23 + 0,08S4) + 0,0004218
D24 = 1,8367 ∗ 10−4C34 + 1,9591 ∗ 10−4C4 + 1,3810 ∗ 10−4
D31 = 0
D32 = 0
D33 = (3,5840 ∗ 10−4S24) + 0,0560(0,04(2C4) + 0,0437)2 + 4,2180 ∗ 10−4
D34 = 1,9591 ∗ 10−4C4 + 1,3810 ∗ 10−4
D41 = 0.D42 = 0.D43 = 0.D44 = 1,3810 ∗ 10−4
Trabajo fin de Grado Pag. 84
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.4.3. Matriz C
Para el calculo de los elementos de esta matriz tendremos en cuenta lasiguiente consideracion planeada en el capıtulo anterior: cijk = cjik .∑
ij
cijk(q)qiqj (4.21)
Dado que el numero de articulaciones es 4, la matriz C tendra una dimensionde 4x4. Donde sus terminos se obtienen de acuerdo con la siguiente expresion:
Ckj =4∑i=1
1
2
∂dkj∂qi
+∂dki∂qj− ∂dij∂qk
(4.22)
Por lo tanto la matriz C tendra la siguiente forma:
C(θ, θ) =
C11 C12 C13 C14
C12 C22 C23 C24
C13 C23 C33 C34
C14 C24 C34 C44
Para el calculo de estos terminos he programado el siguiente script de matlab:
1 % Co r i o l i s .m2 func t i on Ckj = Co r i o l i s (k , j ,D)34 syms q1 q2 q3 q4 ;5 q v = [ q1 q2 q3 q4 ] ;6 aux = 0 ;7 f o r i = 1 :48 aux =aux + 1/2 ∗ ( d i f f (D(k , j ) , q v ( i ) )+ d i f f (D(k , i ) , q v ( j ) ) − d i f f (D( i , j
) , q v (k ) ) ) ;9 end
10 Ckj = aux ;11 end
1 %robot .m23 C11 = s imp l i f y ( Co r i o l i s (1 ,1 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;4 C12 = s imp l i f y ( Co r i o l i s (1 ,2 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;5 C13 = s imp l i f y ( Co r i o l i s (1 ,3 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;6 C14 = s imp l i f y ( Co r i o l i s (1 ,4 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;7 C22 = s imp l i f y ( Co r i o l i s (2 ,2 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;8 C23 = s imp l i f y ( Co r i o l i s (2 ,3 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;9 C24 = s imp l i f y ( Co r i o l i s (2 ,4 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;
10 C33 = s imp l i f y ( Co r i o l i s (3 ,3 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;11 C34 = s imp l i f y ( Co r i o l i s (3 ,4 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;12 C44 = s imp l i f y ( Co r i o l i s (4 ,4 ,D) , ’ I gnoreAna ly t i cCons t ra in t s ’ , t rue ) ;1314 C = vpa ( [ C11 C12 C13 C14 ; C12 C22 C23 C24 ; C13 C23 C33 C34 ; C14 C24 C34 C44 ] , 4 )
Trabajo fin de Grado Pag. 85
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Quedando los elementos de la matriz C como :C11 = −0,0001935S234−0,001109S23−0,0004898S234−0,0005972S2−0,0001837S34−0,0003673S234 − 0,0003696S3 − 9,796 ∗ 10−5S4 − 0,0007398S23
C12 = −6,449 ∗ 10−5S234 − 0,0007391S23 − 0,0001959S234 − 0,0005972S2 −0,0001837S234 − 0,0003699S23
C13 = −0,056(0,04373S234 + 0,08S23)(0,04373C234 + 0,08C23 + 0,075C2) −0,005375S23(0,06108C23+0,075C2)−2,189∗10−5C234S234−5,313∗10−5C23S23
C14 = −8,882e ∗ 10−5S234(1,452C234 + 2,206C23 + 2,068C2)
C22 = 0,000588S234−0,000504S34−1,353e∗10−21S3−0,0003673S34−0,000252S234−0,0005711S3 − 0,0001959S4 + 0,000315S23 − 0,000315S34
C23 = 0,00042S234−0,000504S34−1,353e∗10−21S3−0,000551S34−0,000252S234−0,001142S3 − 0,0001959S4 + 0,0001575S23 − 0,0001575S34
C24 = 0,000252S234−0,000504S34−0,000551S34+0,000252S234−0,0005877S4−0,0001575S34
C33 = 9,183∗10−5S34+0,0002016S3−0,0001959S4−0,000168C23S4+0,000168S34C4
C34 = 9,183 ∗ 10−5S34 − 0,0003918S4
C44 = 9,183 ∗ 10−5S34 + 0,0001959S4
Trabajo fin de Grado Pag. 86
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.4.4. Componente gravitatoria
Una vez calculadas las matrices D y C, ya solo queda hallar la componentegravitatoria:
φk =∂P
∂qk(4.23)
donde la energia potencial P se define como:
P (θ) = g(m1h1(θ) +m2h2(θ) +m3h3(θ) +m4h4(θ)) (4.24)
donde hi es la altura del cdm de la articulacion i y se calculan de la siguientemanera:
h1(θ) = r1
h2(θ) = l1 + r2 sin(θ1)
h3(θ) = l1 + l2 sin(θ2) + r3 sin(θ23)
h4(θ) = l1 + l2 sin(θ2) + l3 sin(θ23) + r4 sin(θ234) (4.25)
Sustituyendo con los datos del robot:
h1 = 0,08011
h2 = 0,05916 ∗ S2 + 0,115
h3 = 0,06108 ∗ S23 + 0,08 ∗ S2 + 0,115
h4 = 0,04373 ∗ S234 + 0,08 ∗ S23 + 0,08 ∗ S2 + 0,115 (4.26)
La matriz φ queda como :
φ =
0
0,1658 ∗ C2 + 0,09668 ∗ C23 + 0,024 ∗ C234
0,09668 ∗ C23 + 0,024 ∗ C234
0,024 ∗ C234
(4.27)
En base a esto se puede comprobar que los motores elegidos satisfacen lasnecesidades de la estructura. Segun fabricante, los motores escogidos soportanun par de 11kgcm alimentados a 6V , alimentados a 7V en torno a 14kgcm.Las solicitaciones en cada motor por el peso de la estructura son:
Muneca: 2,41kgcm
Antebrazo: 12,26kgcm
Hombro: 21,14kgcm En esa articulacion hay colocados 2 motores entandem, por lo tanto, teoricamente soporta el doble de par, 26kgcm.
Base: Para el caso del motor de la base, dado que la estructura apoyasobre la base y los rodamientos el par no excede en ningun momento ellimite.
Trabajo fin de Grado Pag. 87
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.4.5. Exportar desde CAD
El calculo de las matrices anteriores se puede volver algo tedioso inclusousando un programa como Matlab para ello, es por ello que para tener encuenta la dinamica del robot a la hora de disenar un controlador he recurridoa Simscape Multibody, pues haciendo uso de esta herramienta se puede teneren cuenta mas aspectos de la dinamica que reduciendola a tres matrices: D,C y Efecto gravitacional. Esta es una herramienta disponible en Simulinkası como en la licencia proporcionada a la UPM. Desde Simscape podemosimportar un archivo (.xml) exportado desde un programa CAD que describala geometrıa, inercia y todas las propiedades de nuestro mecanismo. Inicial-mente el robot estaba disenado en FreeCAD, no obstante esta herramientano dispone ni de un entorno para realizar ensamblajes fiable ni tampoco deladd-in para exportar el XML que entiende Simulink. Por lo que lo primeroque hice fue exportar desde FreeCAD todas las piezas en un archivo STEP.El siguiente CAD que use fue CATIA V5, pues lo tengo instalado de un cursoque se impartio en la ETSIDI. CATIA es un programa muchısimo mas po-tente que FreeCAD en el que pude asignar ciertas propiedades a los solidosque componen la estructura de mi robot. Para realizar el emsamblaje delrobot se me ocurrio exportar cada conjunto de piezas de cada eslabon comoun componente unico. Esto simplifico con creces el ensamblaje final pudiendorealizar una rapida simulacion del movimiento de los grados de libertad enCATIA como comprobacion. En la figura 4.15 se muestra el ensamblaje delrobot realizado en CATIA.
Figura 4.15: Ensamblaje en CATIA V5. Fuente: Propia
Trabajo fin de Grado Pag. 88
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
A la hora de exportar el ensamblaje del robot resulto que Mathworks solo dasoporte a tres programas CAD: Autodesk Inventor, Dassault SolidWorks yProEngineer. Aprovechando la licencia de 30 de prueba de SolidWorks pudeimportar los archivos de CATIA, realizar el ensamblaje de nuevo y una vezinstalado el add-in necesario para exportar directamente a Matlab, disponerdel modelo dinamico de mi robot en Simulink.En la figura 4.16 se muestra elensamblaje del robot realizado en SolidWorks.
Figura 4.16: Ensamblaje en SolidWorks. Fuente: Propia
El procedimiento a seguir para instalar el plug-in y exportar el XML citadoesta claramente explicado en la web de soporte de Mathworks, por lo queno voy a entrar en detalle. En la figura 4.17 se puede ver como queda ensimulink el robot.
Figura 4.17: Modelo simulink robot. Fuente: Propia
Trabajo fin de Grado Pag. 89
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.5. Hardware
4.5.1. Sensores
Posicion Para medir la posicion de los motores se han usado los AS5040.El AS5040 es un integrado en formato tssop-20 de AMS que lleva un array desensores efecto hall que junto con un iman de neodimio forman el conjunto deltransductor. El AS5040 lleva integradas 3 interfaces para obtener la posicion.La resolucion de la lectura de posicion es de 10 bits. Pudiendo usarse tantocomo encoder incremental como absoluto.
PWM Esta interfaz se suele usar para sustituir el feedback proporcio-nado por potenciometros en sistemas de servomotores, pues con el corres-pondiente filtro paso bajo de orden 2, se obtiene una senal tipo rampa deposicion/voltaje.
Cuadratura de dos canales con index Se disponen de 3 pines paraesta interfaz, Channel-A, Channel-B e Index. Mediante esta interfaz se puedeusar el AS5040 como encoder incremental.. Esta interfaz ha sido descartadadebido a los siguientes motivos: no de pines necesarios para leer 4 motores,complejidad SW y la necesidad de disponer de informacion absoluta de po-sicion en vez de obtener la velocidad, la cual puede ser derivada de la deposicion.
SSI Esta interfaz consiste en un bus de 4 cables: CSn, CLK,Dout yProg. Mediante el uso de esta interfaz, se pueden encadenar varios AS5040en modo ”daisy-chain”sin necesidad de usar mas que 3 pines para leer lacadena completa(CSn, CLK, Dout). Como se puede ver en la figura 4.19,el stream de datos proporcionado por la interfaz SSI consiste en una tramade 16 bits: 10 bits para la posicion y 6 bits para diagnostico. Para leer nencoders se necesita hacer una lectura de (16+1)*n bits por cada AS5040encadenado(vease figura 4.18). Los AS5040 se conectan entre sı como se puedever en la figura 4.18.
Trabajo fin de Grado Pag. 90
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Figura 4.18: Diagrama Daisy-chain para AS5040. Fuente: [25]
Figura 4.19: Trama de datos AS5040. Fuente: [25]
Finalmente me he decantado por el uso de la interfaz SSI, pues uso 4 AS5040,por 4 articulaciones que tiene el manipulador. Para la lectura de la tramade bits mediante SSI, se ha desarrollado una librerıa de Arduino. Para laadaptacion a los motores usados, se ha disenado una PCB(vease B).
4.5.2. Actuadores
Pese a tener muchas alternativas, la eleccion de los actuadores ha venidolimitada por el tamano, pues el proyecto parte de un diseno de un tercero. Sehan usado servomotores modificados para usarse como motores DC. La ven-taja consiste en un tamano compacto. Un servomotor RC lleva implementadouna interfaz controlable por PWM a 50Hz, con un regulador analogico inte-grado en su caja. Esto supone una limitacion respecto al control pues se cierrael lazo en el motor y no en el microcontrolador, que es lo que mas interesa.
Trabajo fin de Grado Pag. 91
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
A su vez, el feedback de posicion viene proporcionado por un potenciometroanalogico limitado tanto en resolucion como en rango de movimiento, siendoeste ultimo de maximo 180o. En la figura 4.20 se observa el Servo sin placade control.
Figura 4.20: Servo sin placa de control. Fuente: Propia
La modificacion realizada en el servomotor ha consistido en sustituir el feed-back de posicion por un AS5040( vease figura 4.21) y un iman de neodimioacoplado al eje de salida de la reductora del servo, aprovechando las partesmecanicas del potenciometro para su montaje(vease 4.22) y en la externali-zacion del driver del motor, cerrando asi el lazo de control en el microcon-trolador.
Figura 4.21: PCB para el AS5040. Fuente: Propia
Trabajo fin de Grado Pag. 92
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Figura 4.22: Colocacion de la PCB en la caja del Servo. Fuente: Propia
A su vez, los servomotores tienen una reductora muy alta, con lo que seconsigue una relacion de par alta simplificando su control(vease seccion deControl para mas detalles). Una de las posibles desventajas de manipular lamecanica del Servomotor es que se aumente el rozamiento de la reductoray dejando de ser los motores exactamente iguales entre sı. Para el estudiodinamico de los motores se supondra que son el mismo motor y luego segun ladinamica de la articulacion en la que este acoplado se tratara de compensareste posible efecto adverso. En la figura 4.23 podemos ver en interior de unServo convertido a motor DC con un AS5040 integrado.
Figura 4.23: Servo modificado como Motor DC con encoder magnetico. Fuen-te: Propia
Por cuestiones de diseno, para una de las articulaciones se han usado dosmotores en vez de uno, para poder soportar el par producido por el resto dela cadena cinematica en la correspondiente articulacion.
Trabajo fin de Grado Pag. 93
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.5.3. Placa de control
En el caso de la placa de control han surgido varias opciones. Me he decan-tado por la placa de desarrollo Teensy 3.2(vease figura 4.24) por tener soporteen lenguaje Arduino (lo cual simplifica bastante la implementacion Hardwa-re) y unas especificaciones bastante superiores a las placas de desarrollo dela plataforma Arduino(veanse el apendice D y [8] para mas informacion ).La Teensy 3.2 dispone de 12 pines con PWM con una resolucion de 12 bitsa una frecuencia de 8kHz, frente a los 8 bits y 1kHz de los que disponen lasplacas de desarrollo de Arduino. A su vez, el microcontrolador de la Teensyes mas potente que el Atmega328p o el Atmega2560, siendo de arquitecturaARM Cortex M4, con unas frecuencias de reloj desde 72 hasta 92 MHz, pu-diendose en un futuro trabajo del proyecto, prescindir del lenguaje Arduinoy programando el ARM Cortex con lenguaje C apropiado para el microcon-trolador.
Figura 4.24: Teensy 3.2 Oshpark. Fuente: Propia
Se ha disenado una placa de expansion para colocar la Teensy y conectarlas senales de control que van a los drivers de la placa de los motores. Sepuede ver el esquematico en el apendice B y el render en la figura C.4 enel apendice C. Frente a los disenos de las demas placas, el diseno se hahecho teniendo en mente el metodo de fabricacion: transferencia de toner yatacado con acido, que he llevado a cabo en mi taller. Lamentablemente en elmomento de diseno no estaba disponible el servicio de fabricacion de placascon la CNC de la ETSIDI por vacaciones.
Trabajo fin de Grado Pag. 94
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.5.4. Etapa de potencia
Fuente de alimentacion Basandome en los calculos realizados por Juer-gen, elegı una fuente de 60W (12V 5V) para alimentar el robot(vease figu-ra 4.25).
Figura 4.25: Fuente de alimentacion conmutada. Fuente: Propia
Driver motores Para controlar los motores se ha usado el integrado deTexas Instruments DRV8833(vease figura 4.26).
Figura 4.26: DRV8833 en encapsulado TSSOP-16. Fuente: Google
Estos drivers tienen la ventaja de tener un tamano reducido y satisfacer lademanda de corriente de los motores empleados. Como se puede ver el enanexo de especificaciones tecnicas se pueden usar para controlar 2 motoreso un motor, proporcionandole el doble de corriente maxima. Se han usado
Trabajo fin de Grado Pag. 95
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
3 DRV8833 para controlar 4 motores. Para el uso de los DRV8833 se hadisenado una PCB(vease B). Estos estan alimentados a 7 sobre los cuales sehara una regulacion con PWM, el valor de 7V ha sido elegido dado que elfabricante de los servos indica que es el voltaje al cual los motores otorgan elmaximo par. Para el caso del articulacion 1, el hombro, se ha usado el mismodriver para los dos motores,conectando en paralelo las entradas de PWM delos canales para actuar de manera identica sobre ambos motores. Para masinformacion vease la datasheet [24].
Adaptacion de potencia Dado que la fuente es de 12V y queremos ali-mentar los motores a 7V, he usado 1 LM2596(vease [23] para mas informa-cion) por cada DRV8833, cierto es que pudiera haber escogido una solucionmas apropiada, pero dado que la finalidad de este proyecto es que sea low-cost y ya tenıa los drivers en casa, los he aprovechado y en todas las pruebasrealizadas hasta ahora han cumplido con su cometido. En la figura 4.27 seve tanto la PCB disenada por mi y fabricada en la ETSIDI junto con losBuck converter usados para adaptar a 7V.
Figura 4.27: PCB drivers y Buck converters. Fuente: Propia
Trabajo fin de Grado Pag. 96
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Diagrama de conexion Hardware A continuacion se presenta un dia-grama para comprension del lector de la arquitectura del hardware empleadoen el robot.(vease figura 4.28)
Figura 4.28: Diagrama de conexiones hardware. Fuente: Elaborado con Mi-crosoft Visio 2013
Trabajo fin de Grado Pag. 97
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.6. Software programado
Se ha programado un codigo C++ en en el entorno de Arduino para elcontrol del robot. A continuacion se presentan los diagramas UML de dichocodigo, generados con BOUML(vease figura 4.29).
Figura 4.29: Diagrama de clases. Fuente: Elaborado con BOUML
Basicamente lo que se ha implementado es un codigo C++ capaz de ges-tionar los sensores y la actuacion de los motores de todas las articulacionessiguiendo en la manera de lo posible las directrices de la POO en pro de apli-car lo aprendido en la carrera. Mediante el periferico Serial se ha desarrolladouna interfaz para interactuar con el manipulador desde un PC, otro micro, olo que se desee, con la intencion de poder interactuar de la siguiente manera:
Mandar consignas de posicion, ya sea en coordenadas articulares o encoordenadas cartesianas. Esto quiere decir que estan implementadoslos algoritmos de calculo de las cinematicas expuestos en los capıtulosanteriores.
Trabajo fin de Grado Pag. 98
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Lectura de la posicion en todo momento de las coordenadas articulares,ası como lectura de error y de tiempo relativo al movimiento.
Ajuste de los parametros del regulador PID de cada articulacion porseparado.
En la figura 4.30 se puede ver un diagrama de flujo del SW programado.
Figura 4.30: Diagrama de flujo de ejecucion. Fuente: Elaborado con MicrosoftVisio 2013
Trabajo fin de Grado Pag. 99
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.6.1. Descripcion de la Interfaz Serial
Como bien es sabido la interfaz serial hace uso del UART(Universal Asyn-chronus Reciever Transmitter), el cual se encarga de establecer una comu-nicacion asıncrona entre dos dispositivos, esta presente en varios estandaresindustriales tales como RS-485, RS-232 y RS-422(vease [2] para mas infor-macion). Generalmente se tiene, mınimo, una linea de recepcion RX, una detransmision TX, VCC y GND. Tratandose de una comunicacion asıncronatanto emisor como receptor han de hablar el mismo idioma, quiero decir conesto que han de estar configurados de igual manera para entenderse entre sı.Estas reglas necesarias para establecer una comunicacion legible son:
Baudrate : Caracteres ASCII interpretados por segundo( Las veloci-dades van desde 1200 a 250000 bauds, generalmente).
Paridad: Especifica como se quiere comprobar la paridad de los bitstransmitidos por el puerto serial. Por defecto se pone como ”none”porlo que no se hace comprobacion de paridad.
Bits de datos: Numero de bits transmitidos, generalmente 8bits, porser 1Byte.
Bits de fin: Fin de linea(LF) y retorno de carro(CR).
Orden de bits: Little-endian o big-endian.
Control de flujo: Establece el proceso de gestion de la comunicacion,por defecto lo controla el hardware salvo que se indique lo contrario.
Para el caso de la interfaz del robot la configuracion de estos parametros esla que sigue:
Baudrate : 115200
Bits de datos : 8
Paridad: Ninguna
Bits de fin: Ninguno
Orden de bits: Little-endian
Control de flujo: Ninguno
Trabajo fin de Grado Pag. 100
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Tramas que acepta la interfaz Todos los valores enviados por las tramashan de ser enteros, no decimales.
Envıo de coordenadas articulares el mensaje enviado debera seguirel siguiente formato:
*base,hombro,antebrazo,muneca
Las coordenadas se expresan en grados y con un rango de 0 a 360o.En caso de no querer enviar una consigna a un motor en concreto, sele envıa 0, pues pese a que la interfaz lo acepte, fısicamente no es unpunto alcanzable por el robot, por lo que he preferido darle al 0 esafuncion la cual es muy util.
Envıo de coordenadas cartesianas el mensaje enviado debera seguirel siguiente formato:
#x,y,z,angulo,hombro arriba
Las coordenadas se expresan en milımetros y el angulo sobre el planoperpendicular respecto del que giran q2, q3 y q4 se expresa en grados.El ultimo parametro corresponde con la configuracion del codo para elalgoritmo de cinematica inversa.
Envıo de parametros del PID el mensaje enviado debera seguir elsiguiente formato:
$numero articulacion,kp,I,D,Ts
Envio de datos desde el Robot En el caso del mensaje que envıa elrobot, obtenemos la posicion de la articulacion y su error respecto de laultima consigna recibida separados por / y luego seguido por una tabulaciony la siguiente coordenada articular, finalizando con un salto de lınea.
q1/error q1 \t q2/error q2 \t q3/error q3 \t q4/error q4 \n
Trabajo fin de Grado Pag. 101
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.7. Control
4.7.1. Identificacion de los motores
Para la identificacion del modelo dinamico del motor DC lo someteremosa una entrada y recogeremos datos de la salida. Se han realizado dos metodos:
Modelo de Caja Gris: El cual consiste en aproximar la FDT delmotor ajustada a un modelo de grado conocido. En este caso por lasaproximaciones explicadas anteriormente, el modelo en posicion corres-ponde con un orden 2 y el modelo en velocidad con un orden 1.
Estimacion de parametros con Simulink: Este metodo consiste endisenar con Simscape el circuito electro-mecanico de un MotorDC deimanes permanentes y mediante un algoritmo de estimacion calcularcon que parametros el circuito de simulink responde como la entrada-salida medida del sistema real.
Se han excitado a los motores con las siguientes entradas:
Escalon.
Coseno.
Tren de pulsos.
Caja Gris Se hace uso de la herramienta ((ident)) de matlab.
Trabajo fin de Grado Pag. 102
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
Estimacion de parametros con Simulink En vista del poco exito delmetodo anterior, disenamos en simulink el modelo electro-mecanico del Mo-torDC usando la libreria Simscape (vease figura 5.6).
Figura 4.31: Modelo dinamico motor. Fuente: Propia
Mediante el uso del modelo expuesto en la figura 5.6 se reflejan parame-tros del motor tales como:
Ra: Resistencia del devanado de excitacion.
La: Inductancia del devanado de excitacion.
Kb: Constante contraelectromotriz.
Jm: Inercia.
Bm: Rozamiento viscoso.
Fs: Rozamiento estatico.
R: Reductora.
Trabajo fin de Grado Pag. 103
CAPITULO 4. DESARROLLO TECNICO E IMPLEMENTACION
4.7.2. Modelo dinamico robot
A continuacion se muestran en las figuras 4.32y 4.33 imagenes del modelodel robot disenado en simulink.
Figura 4.32: Modelo dinamico robot. Fuente: Propia
Figura 4.33: Diagrama de bloques de los motores. Fuente: Propia
Para el modelo del motor, no se ha modelado el Puente en H como si sehace en el ejemplo de matlab, la razon es que el paquete que contiene esecomponente no esta incluido en la licencia de estudiante.
Trabajo fin de Grado Pag. 104
Capıtulo 5
Analisis de resultados
105
CAPITULO 5. ANALISIS DE RESULTADOS
5.1. Estudio de costes
A continuacion en la tabla 5.1 se muestra el coste del proyecto. Teniendocomo referencia los costes de Thor y del robot de la UC3M, podemos con-cluir que hemos cumplido el objetivo de bajo coste, estando en torno a los200 euros. Incluso el coste puede ser menor teniendo en cuenta que los com-ponentes marcados con (*) pueden ser pedidos como muestras a las paginasdel fabricante registrandote con una cuenta corporativa o de universidad. Te-niendo en cuenta esta ultima consideracion el presupuesto del proyecto bajaa 178.12 Euros.
Componente Cantidad Precio TotalTeensy 3.2 Oshpark 1 18 18LM2596 3 1.75 5.25Fuent SMPS 60W 1 18 18Servo MG996R 5 9 45Servo MG90 1 2 2Cable AWG 1 8 8Bobina de PLA Verde 1 17 17Bobina de PLA Berenjena 1 17 17Cable micro USB 1 5 5Jumpers Varios 20 0.02 0.4PCB Digispark Encoders 1 2.01 2.01PCB Oshpark DRV8833 1 2.25 2.25PCB Motherboard 1 5 5PCB Control Board 1 6.81 6.81Condensadores y resistencias 30 0.02 0.6DRV8833 (*) 3 2.59 7.77AS5040 (*) 4 8.2 32.80Imanes neodimio (*) 4 0.7 2.8Tornilleria M3 150 0.05 7.5Tuercas autoblocantes M3 30 0.14 4.2Rodamientos 623 10 0.5 5Cubre cables 1 3 3Boquillas metalicas para los motores 7 0.73 5.11COSTE TOTAL 218.69 euros
Cuadro 5.1: Coste materiales
Trabajo fin de Grado Pag. 106
CAPITULO 5. ANALISIS DE RESULTADOS
5.2. Control
5.2.1. Primer control
El primer algoritmo de control que he probado ha consistido en una accionmuy simple. Con el objetivo de poder verificar las cinematicas y funciona-miento de la electronica. Para este control se ha tenido en cuenta la siguienteno linealidad del motor : la zona muerta.Para el caso de mi robot se hanmedido los siguientes valores en las articulaciones como voltaje mınimo paragenerar movimiento:
Base: 4,44V.
Hombro: 4,44V.
Antebrazo: 4,61V.
Base: 4,27V.
Estos datos son bastante altos y no se corresponden con lo tıpico ni con lospares producidos por el peso de la estructura, mas adelante se investigaraeste aspecto. Pese a que el codigo programado soporta la implementacionde un PID discreto con Euler de primer Orden, para este primer control deprueba solo se ha usado la accion P. Inicialmente el robot se encontraba enla posicion 180 270 90 180, aplicandole una consigna de 220 300 80 90, larespuesta del robot es la figura 5.1.
Figura 5.1: Respuesta robot primer control implementado
Trabajo fin de Grado Pag. 107
CAPITULO 5. ANALISIS DE RESULTADOS
En 1 segundo alcanza la posicion con errores maximos de 5o. Sin duda de loque se puede observar de la respuesta, lo que mas preocupa es la sobreos-cilacion, presente en todas las articulaciones en mayor o menor medida. Lasobreoscilacion en un manipulador es algo a evitar, generalmente los robotsson sistemas sobreamortiguados.
5.2.2. Caracterizacion del motor
Identificacion mediante modelos lineales entrada/salida
Escalon
Figura 5.2: Resultado de Ident para Escalon
Como se puede ver en la figura 5.2 la mejor aproximacion para entradaescalon es la de un sistema discreto con 2 polos y 0 zeros, con un 85 % decoincidencia con los datos propuesto.
Trabajo fin de Grado Pag. 108
CAPITULO 5. ANALISIS DE RESULTADOS
Cosenoidal
Figura 5.3: Resultado de Ident para Senoide
Como se puede ver en la figura 5.3 la mejor aproximacion para entradacosenoidal es la de un sistema discreto con 2 polos y 0 zeros con ARX, conun 77.39 % de coincidencia con los datos propuesto.
Diseno de PID para un motor sin carga acoplada Del parrafo anteriorse tiene que la aproximacion de 2 polos y 0 zeros discretos para la entradaescalon se acerca la que mas, por lo que contrastaremos una simulacion conla respuesta del sistema real.
Figura 5.4: Diagrama de bloques del lazo cerrado propuesto
Trabajo fin de Grado Pag. 109
CAPITULO 5. ANALISIS DE RESULTADOS
Mediante el uso de la herramienta ”Tune” del bloque PID, y tras con-siderar las limitaciones fisicas de los actuadores, se obtienen los siguientesparametros del regulador:
P = 3,37; I = 19,14;D = −0,024
En la figura 5.5 se puede contrastar la diferencia entre lo simulado y larespuesta real del motor para el regulador discreto calculado.
Figura 5.5: Simulacion vs respuesta real
Como se puede observar pese a que los transitorios son bastante similares,los regımenes permantes en cada escalon presentan un error en la simulacionrespecto del modelo real, y esto se debe a que en el modelo de 2p0z discretoobtenido por ident no se contempla las no-linearidades del motor con reduc-tora. Por tanto se concluye que para proceder en el estudio de control delrobot, la vıa de Simscape es mejor.
Trabajo fin de Grado Pag. 110
CAPITULO 5. ANALISIS DE RESULTADOS
Estimacion de parametros Al tener en cuenta un modelo electro-dinami-co del motor representado mediante la figura 5.6, se procedera a identificarel Motor mediante el metodo de estimacion de parametros.
Figura 5.6: Motor DC en simulink
Senoide
Figura 5.7: Estimacion de parametros con Simulink 1
En el caso de la excitacion senoidal, el efecto producido por obviar el ro-zamiento estatico es menos pronunciado pues no se producen cambios deconsigna tan bruscos de forma que el sistema real no pueda seguir la consig-na. Dado que esta ultima estimacion de parametros genera una salida quese ajusta suficiente al modelo real, habiendo convergido en pocas iteraciones,tomaremos estos parametros estimados como punto de referencia de cara aseguir disenando el modelo en Simscape.
Trabajo fin de Grado Pag. 111
CAPITULO 5. ANALISIS DE RESULTADOS
Identificacion mediante uso de modelos no-lineales Para ello se havuelto a tomar datos del motor, esta vez disenando una excitacion a con-ciencia con el fin de poder caracterizar la friccion estatica y no-linealidades.Aun incluyendo en el modelo la friccion estatica En base a [19] procedere-mos a identificar el motor mediante el metodo de identificacion propuestopor Hammerstein-Wiener, el cual tiene en cuenta un modelo lineal sujeto ano-linealidades. En el caso de los motores que yo he usado, en las pruebascon los modelos antes descritos se ha observado un efecto notable de la zonamuerta del motor, por lo que se espera que mediante el uso de este modelode identificacion, esta no-linealidad quede caracterizada ası como el backlashproducido por la reductora.
Figura 5.8: Respuesta identificacion Hammerstein-Wiener
Como se puede apreciar en la figura 5.8 la eleccion del metodo Hammerstein-Wiener para identificar la dinamica del motor ha sido acertada pues efectosno considerados anteriormente en los modelos, la zona muerta y la friccionestatica, son descritos adecuadamente.
Pese a ser el modelo mas preciso, no resultaba comodo para trabajarse ensimulink, por lo que decidı identificarlo otra vez mediante simscape anadiendozona muerta y prescindiendo de la friccion viscosa dado que el modelo dabaproblemas al linealizarlo.
Trabajo fin de Grado Pag. 112
CAPITULO 5. ANALISIS DE RESULTADOS
Identificacion mediante modelado de zona muerta
Figura 5.9: Modelo motor con zona muerta
El resutado de identificacion del modelo de la figura 5.9 es suficientementepreciso para empezar a trabajar con el. En la figura 5.10 se observa la salidadel sistema.
Figura 5.10: Respuesta identificacion zona muerta
Los parameros estimados para esta respuesta son : J = 2,3559e − 06 K =0,00054435 L = 0,0026116R = 4,2924 b = 3,921e− 05 dBand = 2,5426
Trabajo fin de Grado Pag. 113
CAPITULO 5. ANALISIS DE RESULTADOS
5.2.3. Diseno de controladores
Una vez descrita la dinamica del motor por Hammerstein-Wiener y ladinamica de la estructura mecanica mediante Simscape, procederemos a di-senar un controlador. Siguiendo lo expuesto en [20] el regulador apropiadopara el tipo de sistema descrito corresponde con un PI de 2 grados de liber-tad. Lo descrito en [20] se complementa con el ejemplo descrito en la paginaweb Mathworks ası como con los videos de Terry Denery de todo el procesode descripcion de la mecanica y dinamica del robot mediante el uso de simu-link. De acuerdo con [20] se propone un PID de 2 grados de liberdad comoel de la figura
Figura 5.11: Controlador propuesto
Con el fin de poder usar la herramienta looptune para disenar un reguladorde manera visual, se procede a linealizar el sistema con la herramienta linealanalysis del control toolbox. El resultado es un espacio de estados de 4 entra-das, 4 salidas y 13 estados, dado el tamano de las matrices, su inclusion en lamemoria se va a obviar. Para la linealizacion se han puesto como puntos deentrada del sistema, la salida del bloque controlador y como salida, la salidade angulo del bloque de la estructura. Y se ha linealizado el sistema cada1s en 5s. Dado que buscamos que los motores alcancen la respuesta deseadoen 1s se elegira un ancho de banda de 3rad/s. El resultado de la primeraiteracion de looptune nos arroja la grafica de la figura 5.12.
Trabajo fin de Grado Pag. 114
CAPITULO 5. ANALISIS DE RESULTADOS
Figura 5.12: Resultado respuesta escalon PI ajustado por looptune
Como se puede ver en los circulos rojos de la figura 5.12 , los actuadoresestan saturando y eso es una situacion no deseada. Por defecto la herramientalooptune solo lineariza el lazo de realimentacion por lo que para poder sacarpartido del uso del bloque PID de 2 grados de libertad, volvemos a ejecutarlooptune con el fin de tener en cuenta la componente de prealimentacionpara asi reducir la sobre oscilacion. La respuesta obtenida corresponde conlas graficas de la figura 5.13.
Trabajo fin de Grado Pag. 115
CAPITULO 5. ANALISIS DE RESULTADOS
Figura 5.13: Resultado respuesta escalon PI ajustado por looptune segundaiteracion
Pese a haber reducido la sobreoscilacion respecto al ajuste anterior, comose observa en la figura 5.13, los actuadores siguen saturando, esto se puededeber a dos cosas:
Dimensionado erroneo de los actuadores: Problema el cual seriade dificil solucion dado que el diseno mecanico de la estructura habriaque cambiarse.
Identificacion erronea del motor : En caso de ser por este motivo,con volver a tomar datos entrada salida del motor y repitiendo el proce-so explicado hasta ahora se pudieran tener unas mejores simulaciones.
Suponiendo que el modelo actual fuese valido, a continuacion se procedera asimular una maniobra tıpica del manipulador.En la figura se puede observarel resultado del intento del robot de seguir la trayectoria propuesta.
Trabajo fin de Grado Pag. 116
CAPITULO 5. ANALISIS DE RESULTADOS
Figura 5.14: Resultado respuesta trayectoria propuesta
Como es mas que observable los resultados de la simulacion de la figura 5.14muestran un error de seguimiento de trajectoria bastante preocupante, peseque el error de valor final se casi nulo. Por ultimo se plantea el uso de ungenerador de trayectorias con perfiles de velocidad, con el fin de reducir lasaceleraciones del movimiento.
Trabajo fin de Grado Pag. 117
CAPITULO 5. ANALISIS DE RESULTADOS
Figura 5.15: Resultado respuesta con perfiles de velocidad
En la figura 5.15 se pueden observar marcados en rojo los siguientes pro-blemas:
Error en seguimiento de consigna: Este problema se ha encontradocon anterioridad.
Saturacion de actuadores
El resultado esperado del perfil de velocidad utilizado deberıa ser como elque se ve en la figura 5.16.
Trabajo fin de Grado Pag. 118
CAPITULO 5. ANALISIS DE RESULTADOS
Figura 5.16: Perfiles de velocidad empleado
Estudio de errores de modelado Debido a las discrepancias producidascon las simulaciones se procede a identificar el error de modelado, pues losactuadores, como se vio en los calculos de el par gravitatorio, estan aparen-temente bien dimensionados. La identificacion del modelo indica que la zonamuerta del motor es de ±2V lo cual es un valor altısimo para un motor DCincluso con reductora. Por lo que lleva a pensar que al motor no le llegamenos voltaje del que deberıa. Mediante el uso de una fuente regulable delaboratorio se ha observado que el valor real de la zona muerta del motoresta por debajo de ±1V . Este problema trasciende en el sentido que en laentrada salida usada para identificar el motor, se contempla el aplique de unvoltaje nunca aplicado. Las posibles causas de este problema son:
Mal funcionamiento del driver DRV8833:Pudiera ser que el driverentrase en saturacion por corriente demandada excesiva, lo cual nodebiera ser el caso pues segun [24], los drivers aguantan hasta 1,2A enregimen permanente y 3A de pico.
Problema del pwm del microcontrolador: Que no se genere co-rrectamente.
Frecuencia de PWM : Puede darse el caso que el tiempo de con-mutacion de los transistores del driver no admitan frecuencias altas dePWM.
Que el error fuese del driver serıa algo bastante molesto ya no solo por tenerque desmontar las placas si no porque su uso es diferente al de los DRV8833y eso implicarıa modificar el codigo de la interfaz Serial que lleva programadoel microcontrolador.
Trabajo fin de Grado Pag. 119
CAPITULO 5. ANALISIS DE RESULTADOS
Tras medir con el osciloscopio el PWM generado por la Teensy y el vol-taje que generaban los drivers al motor se ha detectado que el problema esla frecuencia del PWM que es demasiado alta, 8, 789kHz. Se ha ido decre-mentando la frecuencia hasta 540Hz(valor recomendado por el fabricantedel micro) y como era de esperar se ha observado que el voltaje de la zonamuerta del motor iba descendiendo hasta estar entorno a los 0,8− 1,2V , va-lores un poco mas reales. Finalmente el los Driver DRV8833 no han tenidoque desecharse, pues para valores de frecuencia de PWM comprendidos entre100-500Hz se han observado valores congruentes.
5.2.4. Recaracterizacion del modelo
Se ha vuelto a tomar datos del modelo en pro de poder identificarlo denuevo y dejarlo preparado para un futuro analisis completo de control. Elcircuito modelado es el de la figura5.17.
Figura 5.17: Modelado ultima identificacion. Fuente: Propia
Estimacion de parametros Se han vuelto a estimar los parametros usan-do simulink, arrojando los resultados de la figura 5.18.
Trabajo fin de Grado Pag. 120
CAPITULO 5. ANALISIS DE RESULTADOS
Figura 5.18: Estimacion parametros ultima identificacion. Fuente: Propia
Los parameros estimados para esta respuesta son : J = 1,7637e − 07 K =0,19384 Ki = 2,4957e− 06 L = 0,0060417R = 0,35089 b = 2,6082e− 06 dBand = 1
Modelo Caja gris A su vez, en pro de obtener una funcion de trans-ferencia del modelo, se ha realizado una identificacion mediante el metodoARX aproximando el sistema a un orden 2. Se puede ver el resultado de laidentificacion en la figura 5.19.
Figura 5.19: Identificacion modelo ultima identificacion. Fuente: Propia
Siendo la funcion de transferencia estimada:
Gmotor(z) =0,1579
1− 1,519z−1 + 0,5645z−2(5.1)
Trabajo fin de Grado Pag. 121
CAPITULO 5. ANALISIS DE RESULTADOS
Conclusion estimacion Pese a que el resultado de ident aproxima mejorla respuesta ante los escalones de la senal, el resultado de la estimacion deparametros si que consigue reflejar el comportamiento del motor ante lasrampas a voltajes bajos, lo cual ratifica que la inclusion de la zona muertaen el modelo es un suposicion acertada.
5.2.5. PD con compensacion de gravedad
De acuerdo con [3], un PD con compensacion de gravedad es un primercontrol valido en vistas de implementar mas adelante un control mas avan-zado, por lo que se procedera a un ajuste iterativo empırico para estimar losvalores del regulador.
Identificacion del valor de la constante Voltaje/Par Partiendo dela expresion 4.27, procedemos a calcular el par maximo producido en lasarticulaciones, obteniendo:
Base: 0
Shoulder: 0.28 Nm
Forearm: 0.12 Nm
Wrist: 0.024 Nm
Para identificar la constante, se han puesto las articulaciones en su posicionde par maximo, 180o, y por separado se ha aplicado una rampa de pwm, ano-tando el valor de pwm para el cual el motor vence el par calculado. Dividiendoel valor de PWM entre el par calculado, obtenemos las constantes:
Base: 700. Para el caso de la base, como las ecuaciones de par dan0, simplemente se ha anotado directamente el valor de pwm observadocomo correccion de par resistente.
Shoulder: 4286PWMNm
Forearm: 12500PWMNm
Wrist: 30250PWMNm
Ecuacion del regulador PD La ecuacion del regulador PD se ha modi-ficado incluyendo la componente gravitatoria, fruto de multiplicar las expre-siones de 4.27 con las constantes de par recien calculadas.
Regulador = Kp ∗ error +Kd ∗differror
sampletime+ gravitycomp (5.2)
Trabajo fin de Grado Pag. 122
CAPITULO 5. ANALISIS DE RESULTADOS
Valores regulador
Base Kp: 50 , D: 3
Shoulder Kp: 40 , D: 5
Forearm Kp: 50 , D: 4
Wrist Kp: 40 , D: 4
Resultado respuesta El resultado del Regulador calculado se puede veren la figura 5.20.
Figura 5.20: Respuesta robot con un regulador PD con compensacion degravedad. Fuente: Propia
Conclusion de la estimacion
Base: Hay presente sobreoscilacion ası como error en el permanente,habrıa de valorarse la inclusion de la accion Integral o un mejor ajustedel PD propuesto.
Shoulder:Hay presente sobreoscilacion por lo que la accion D deba serun poco mas agresiva. No hay error en el permanente.
Forearm: Respuesta satisfactoria.
Trabajo fin de Grado Pag. 123
CAPITULO 5. ANALISIS DE RESULTADOS
Wrist: Hay presente sobreoscilacion ası como error en el permanente,habrıa de valorarse la inclusion de la accion Integral o un mejor ajustedel PD propuesto.
Respecto al primer control P probado para verificar cinematicas, se ha ob-servado lo siguiente:
Base: Se ha mejorado el transitorio frente a la aparicion de error en elregimen permanente.
Sholder: Se ha reducido el error en el permanente sacrificando unaoscilacion mas pronunciada.
Forearm: En ese caso la respuesta ha mejorado notablemente, redu-ciendo la sobreoscilacion y el error en el permanente.
Wrist: Para esta articulacion se reducido el tiempo de subida , siguehabiendo error en el permanente y con una sobreoscilacion similar.
Trabajo fin de Grado Pag. 124
Capıtulo 6
Conclusiones y trabajos futuros
125
CAPITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS
6.1. Conclusiones
Sin duda haber realizado un proyecto como este ha sido un total desafıo.El proyecto ha supuesto la profundizacion en campos tales como lo son eldiseno 3D, modelado dinamico de estructuras mecanicas, la robotica y elcontrol. Todo el trabajo de investigacion de proyectos similares, ası comoartıculos de la materia, me han otorgado una vision muy amplia de lo quecorresponde al desarrollo de un robot, en todas sus fases.
6.2. Logros del proyecto
Los logros conseguidos durante el desarrollo del proyecto han sido:
Diseno de un Robot manipulador de bajo coste apto para uso domes-tico y/o docente: empleando: Tecnologıa 3D, Servos de Radiocontrolmodificados, drivers asequibles y microcontrolador barato.
Desarrollo de una libreria para Arduino de los encoders AS5040.
Modificacion de un Servo RC de 180o para conseguir un MotorDC conrealimentacion de posicion con encoder magnetico y giro de 360o.
Diseno de las PCB destinadas a: Drivers DRV8833, encoders AS5040 yplaca general para conectar los pines de control del microcontrolador,alimentar los drivers y los motores.
Aprender a usar el lenguaje LaTeX para el desarrollo de la memoria,cuya curva de aprendizaje al principio ha sido muy elevada pero que ala larga ha sido una eleccion de la que no me arrepiento frente a haberusado otros editores de texto.
Haber llevado a la practica casi todos los conocimientos clave de miespecialidad adquiridos durante la carrera: programacion, diseno CAD,electronica, ingenierıa de control y robotica.
Trabajo fin de Grado Pag. 126
CAPITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS
6.3. Trabajos futuros
Con la esperanza de continuar trabajando el robot me gustarıa citar tra-bajos futuros a realizar:
Mejor modelado dinamico de los actuadores, ası como la eleccion deunos mas apropiados.
Mejor eleccion de drivers para los motores.
Mejor distribucion del cableado.
Mejorar la estructura y diseno de los eslabones.
Una PCB mas profesional que integre toda la electronica de control yde potencia.
Sustituir el lenguaje Arduino y programar el microcontrolador directa-mente.
Implementacion de un sistema de control avanzado.
Programacion de una interfaz en el PC mediante algun framework,como lo pueden ser Qt C++ o WX widgets.
Como trabajo futuro dejarıa la integracion del manipulador en algun entornoen el que fuese util. En un primer momento yo lo pense como complemento aun robot terrestre tipo rover, en tareas de reconocimiento y limpia de terreno.Me gustarıa poder seguir trabajando en el robot, pudiendo ser yo quien realiceesta implementacion. Dejo pues aquı mi trabajo por si alguien que vienedespues lo encuentra util y de inspiracion, al igual que yo he encontradoutiles otros trabajos.
Trabajo fin de Grado Pag. 127
Apendice A
Listado de siglas y acronimos
AC: Alternating Current.
CAD: Computer Aided Design.
CNC: Computer Numerical Control.
DC: Direct Current.
DOF: Degrees Of Freedom.
DIY: Do It Yourself.
ETSIDI: Escuela Tecnica Superior de Igenierıa y Diseno Industrial.
ETSII: Escuela Tecnica Superior de Igenierıa Industrial.
FPGA: Field Programmable Gate Array.
PC: Personal Computer.
PCB: Printed Circuit Board.
PD: Proporcional Derivativo.
PI: Proporcional Integral.
PID: Proporcional Integral Derivativo.
PLA: PolyLactic Acid.
PWM: Pulse Width Modulation.
PLC: Programmable Logic Controller.
128
APENDICE A. LISTADO DE SIGLAS Y ACRONIMOS
PRJC: Paul J Stoffregen and Robin C Coon.
RC: Radio Control.
SISO: Single Input Single Output.
SW: SoftWare.
TFG: Trabajo Gin de Grado.
UC3M: Universidad Carlos III de Madrid.
UPM: Universidad Politecnica de Madrid.
Trabajo fin de Grado Pag. 129
Apendice B
Esquematicos
130
AS5040
0,1
GND
GND
GND 10n
100
GND
0
GND
0,1
GND
IC1MAGINC
1
MAGDEC
2
A_LSB_U
3
B_DIR_V
4
COIL
5
INDEX_W
6
VSS
7
PROG
8D0
9CLK
10
CSN
11
PWN
12
T_B_0
13
T_B_1
14
VDD3V3
15
VDD5V
16
C1
C2
R4
LED1
LED2
JUMPER
JP1123
JP2123
C3
GND
CLK
CLK
CSN
CSN
DO
DO
VCC
VCC
PROG
PROG
ABCDE
12
34
56
78
ABCDE
12
34
56
78
2.2
uF0.0
1u
F
10u
F
GN
D
GN
D
VC
C
VC
C
GND
GN
D
GN
D
>D
VR
8833
GN
DV
CC
GN
D
VC
C
C3C1
C2
SL
EE
P1
AO
UT
12
AIS
EN
3
AO
UT
24
BO
UT
25
BIS
EN
6
BO
UT
17
FA
ULT
8B
IN1
9B
IN2
10
VC
P11
VM
12
GN
D13
VIN
T14
AIN
215
AIN
116
U1
GND0
R1
R2
R3
JP
1
1 2 3 4 5 6 7
JP
2
1 2 3 4 5 6 7
SL
EE
P
SL
EE
P
AO
UT
1
AO
UT
1
AO
UT
2
AO
UT
2
BO
UT
2
BO
UT
2
BO
UT
1
BO
UT
1
FA
ULT
FA
ULT
BIN
1
BIN
1
AIS
EN
BIS
EN
AIN
1
AIN
1
AIN
2
AIN
2
BIN
2
BIN
2
DR
V8
83
3
29/0
6/2
017 2
3:3
8:1
2
1/1
Sh
ee
t:
ABCD
12
34
ABCD
12
34
Mo
tore
s 1
y 2
MO
TO
R_
PW
R
Mo
tore
s 3
y 4
Mo
tore
s 5
y 6
GN
D
MS
TB
A2
MS
TB
A2
MS
TB
A2
MS
TB
A2
MS
TB
A2
MS
TB
A2
GN
D
GN
DM
ST
BA
2M
ST
BA
2
MS
TB
A2
MS
TB
A2
MS
TB
A2
MS
TB
A2
GN
D
GN
D
MS
TB
A2
MS
TB
A2
MS
TB
A2
MS
TB
A2
MS
TB
A2
MS
TB
A2
GN
D
X10-1
1
X10-2
2
X2-1
1
X2-2
2
VM
1-1
1
VM
1-2
2
JP
M1
B1 2 3 4 5 6 7
JP
M1
A1 2 3 4 5 6 7
JP
11234
JP
21234
X11-1
1
X11-2
2
X12-1
1
X12-2
2
VM
2-1
1
VM
2-2
2
JP
M2
B1 2 3 4 5 6 7
JP
M2
A1 2 3 4 5 6 7
JP
51234
JP
71234
X14-1
1
X14-2
2
X15-1
1
X15-2
2
VM
3-1
1
VM
3-2
2
JP
M3
B1 2 3 4 5 6 7
JP
M3
A1 2 3 4 5 6 7
JP
31234
JP
81234
FO
R_
M1
FO
R_
M1
BA
CK
_M
1
BA
CK
_M
1
FO
R_
M2
FO
R_
M2
BA
CK
_M
2
BA
CK
_M
2
ISE
N_
M1
ISE
N_
M1
ISE
N_
M2
ISE
N_
M2
M1
A
M1
A
M1
B
M1
B
M2
A
M2
A
M2
B
M2
B
VM
1
VM
1
NS
LE
EP
1N
SL
EE
P1
NF
AU
LT
1N
FA
ULT
1
M3
A
M3
A
M3
B
M3
B
M4
B
M4
B
M4
A
M4
A
FO
R_
M3
FO
R_
M3
BA
CK
_M
3
BA
CK
_M
3
BA
CK
_M
4B
AC
K_
M4
FO
R_
M4
FO
R_
M4
VM
2V
M2
NF
AU
LT
2
NF
AU
LT
2N
SL
EE
P2
NS
LE
EP
2IS
EN
_M
3
ISE
N_
M3
ISE
N_
M4
ISE
N_
M4
FO
R_
M5
FO
R_
M5
BA
CK
_M
5
BA
CK
_M
5
FO
R_
M6
FO
R_
M6
BA
CK
_M
6
BA
CK
_M
6
M5
A
M5
A
M5
B
M5
B
M6
B
M6
B
M6
A
M6
A
VM
3
VM
3
ISE
N_
M5
ISE
N_
M5
ISE
N_
M6
ISE
N_
M6
NF
AU
LT
3
NF
AU
LT
3N
SL
EE
P3
NS
LE
EP
3
Date
:04/0
8/2
017 0
:36:1
0S
hee
t:1/1 R
EV
:
TIT
LE
:
Docum
ent N
um
ber:
moto
r-contro
l-board
_v2
PWM
PINS
SSI ENCO
DER
BUS
SERIAL CO
M
GR
IPPER SER
VO
VIN
22-23-2021
22-23-2021
22-23-2021
22-23-2021
22-23-2021
22-23-2021
22-23-2031
22-23-205122-23-2041
GN
DG
ND
GN
D
GN
D
47uF47uF
BASE-1BASE-2
SHO
ULD
ER_A-1
SHO
ULD
ER_A-2
SHO
ULD
ER_B-1
SHO
ULD
ER_B-2
FOREAR
M-1
FOREAR
M-2
WRIST-1
WRIST-2
VIN-1
VIN-2G
RIPPER
-1G
RIPPER
-2G
RIPPER
-3
AS5040-1AS5040-2AS5040-3AS5040-4AS5040-5
SERIAL_CO
M-1
SERIAL_CO
M-2
SERIAL_CO
M-3
SERIAL_CO
M-4
12/MISO
11/MO
SI10/TX2/PW
M9/R
X2/PWM
8/TX37/R
X36/PW
M5/PW
M4/CAN
-RX/PW
M3/CAN
-TX/PWM
2 1/TX1/T0/R
X1/T
GN
D
AGN
D
3.3V
23/A9/T/PWM
22/A8/T/PWM
21/A7/PWM
20/A6/PWM
19/A5/T/SCL018/A4/T/SD
A017/A3/T16/A2/T15/A1/T14/A113/SCK/LED
VIN
C1C2
SSI_DATA
SSI_DATA
SSI_CLK
SSI_CLK
SSI_CSN
SSI_CSN
BASE_BACKBASE_BACK
BASE_FOR
BASE_FOR
FOREAR
M_FO
R
FOREAR
M_FO
R
FOREAR
M_BACK
FOREAR
M_BACK
WR
IST_BACK
WR
IST_BACK
WR
IST_FOR
WR
IST_FOR
SHO
ULD
ER_BACK
SHO
ULD
ER_BACK
SHO
ULD
ER_BACK
SHO
ULD
ER_FO
R
SHO
ULD
ER_FO
R
SHO
ULD
ER_FO
R
VIN
VIN
VIN
3V3
3V33V3 G
ND
GN
D
GN
D
GN
D
GN
D
SERIAL3_R
X
SERIAL3_R
X
SERIAL3_TX
SERIAL3_TX
GR
IPPER_CTR
L
GR
IPPER_CTR
L
Date:
07/09/2017 22:17Sheet:
1/1 REV:
TITLE:
Docum
ent Num
ber:
motherboard
Apendice C
Renders PCBs
135
APENDICE C. RENDERS PCBS
Figura C.1: Render PCB: Encoder AS5040 con SSI. Fuente: VisualizadorPCBs.io
Figura C.2: Render PCB: Driver DRV8833. Fuente: Visualizador PCBs.io
Trabajo fin de Grado Pag. 136
APENDICE C. RENDERS PCBS
Figura C.3: Render PCB: Placa de control motores v2. Fuente: VisualizadorPCBs.io
Figura C.4: Render PCB: Placa de expansion para el microcontrolador. Fuen-te: Visualizador PCBs.io
Trabajo fin de Grado Pag. 137
Apendice D
Especificaciones tecnicasTeensy 3.2
138
APENDICE D. ESPECIFICACIONES TECNICAS TEENSY 3.2
Cuadro D.1: Especificaciones tecnicas Teensy 3.2. Fuente: PRJC
Trabajo fin de Grado Pag. 139
Apendice E
Herramientas SW utilizadas
Lista del software que he usado durante el desarrollo de mi proyecto, encuanto a los costes por mano de obra no soy capaz de estimarlos pues lo hedesarrollado todo en el taller de mi casa y es difıcil dar una cifra.
Programas CAD: FreeCAD (Diseno de piezas), Catia V5(ensamblajede piezas) y Solidworks(Exportar XML a simulink).
Impresion 3D: Cura, RepetierHost, STLviewer.
Programas de Calculo: MATLAB.
Programacion de codigo C++: Sublime Text, Teensy PRJC, Ar-duino.
Control de versiones: Git con SourceTree y Bitbucket.
Almacenamiento de la memoria y recursos del proyecto: Drop-box.
Simulacion: Catia V5, Simulink.
Documentacıon: BOUML,Microsoft Visio 2013,TexStudio,Bibtex(gestionde bibliografıa).
Diseno PCB: Cadsoft Eagle.
Trata de datos: Microsoft Excel y Matlab.
140
Bibliografıa
[1] H. M. Mohammed Al-Qahtani and M. Amin A. Sunar. Dynamics andcontrol of a robotic arm having four links. Research Gate, 2016.
[2] Jan Axelson. Serial Port Complete: COM Ports, USB Virtual COMPorts, and Ports for Embedded Systems; 2nd ed. Lakeview Research,Madison, WI, 2007.
[3] A. Cahyadi, S. Herdjunanto, and Herianto. A simple proportional pluspd sign for asymptotically stable robot manipulators. In 2016 3rd Inter-national Conference on Information Technology, Computer, and Electri-cal Engineering (ICITACEE), pages 60–63, Oct 2016.
[4] K. Capek. R.U.R Rossum’s Universal Robots. F.R. Borovy, 1935.
[5] A.B. Cruz. Fundamentos de robotica. McGraw-Hill, 2007.
[6] Universidad Nacional de Quilmes. Controladores PID.
[7] Le Tien Dung, Hee-Jun Kang, and Young-Shick Ro. Robot manipulatormodeling in matlab-simmechanics with pd control and online gravitycompensation. In International Forum on Strategic Technology 2010,pages 446–449, Oct 2010.
[8] Freescale Semiconductor. K20 Sub-Family, 6 2012. Rev. v2-12.
[9] Antonio Castro Gomez. DiseNo y puesta en funcionamineto de un brazorobOtico imprimible. Trabajo fin de grado, Universidad Carlos III deMadrid, 2012.
[10] H. Harry Asada. Introduction to Robotics, chapter Chapter 4: PlanarKinematics. Massachusetts Institute of Technology, 2005.
[11] Tushar Jain and MJ Nigam. Optimization of pd-pi controller usingswarm intelligence. International journal of computational cognition,6(4):55–59, 2008.
141
BIBLIOGRAFIA
[12] Reza N. Jazar. Theory of Applied Robotics: Kinematics, Dynamics, andControl. Springer US, 2 edition, 2010.
[13] S Kozak. Development of control engineering methods and their appli-cations in industry. In Proc. of the 5th International Scientific-TechnicalConference “Process Control, pages 9–12, 2002.
[14] S. Kucuk and Z. Bingul. Robot Kinematics: Forward and Inverse Kine-matics. INTECH Open Access Publisher, 2006.
[15] Jeffrey James Lentz. Parameter estimation of systems with deadzoneand deadband and emulation using xpc target. Master’s thesis, MissouriUniversity of Science and Technology, 2008.
[16] Jurgen Lessner. Roboterarm.
[17] Angel Larranaga Muro. Diseno y puesta en funcionamiento de un brazorobotico imprimible. Trabajo fin de grado, Universidad Politecnica deMadrid, 2015.
[18] Katsuhiko Ogata. Ingenieria de Control Moderna. Pearson, 2010.
[19] T. Kara S.Abokoos. A simulation and experimental study on identifica-tion of an electromechanical system. Proceedings of the 2013 Internatio-nal Conference on Systems, Control, Signal Processing and Informatics,2013.
[20] A. D. Shakibjoo and M. D. Shakibjoo. 2-dof pid with reset contro-ller for 4-dof robot arm manipulator. In 2015 International Conferenceon Advanced Robotics and Intelligent Systems (ARIS), pages 1–6, May2015.
[21] M.W. Spong, S. Hutchinson, and M. Vidyasagar. Robot Modeling andControl. Wiley, 2005.
[22] Stefan Kozak. State-of-the-art in control engineering. Journal of Elec-trical Systems and Information Technology, 1(1):1 – 9, 2014.
[23] Texas Instruments. LM2596 SIMPLE SWITCHER R© Power Converter150-kHz 3-A Step-Down Voltage Regulator, 11 1999. Rev. May 2016.
[24] Texas Instruments. DRV8833 Dual H-Bridge Motor Driver, 1 2011. Rev.July 2015.
Trabajo fin de Grado Pag. 142
BIBLIOGRAFIA
[25] Texas Instruments. AS5040 10-Bit 360o Programmable Magnetic RotaryEncoder, 6 2017. Rev. v2-12.
[26] A. Valera, A. Soriano, and M. Valles. Plataformas de bajo coste parala realizacion de trabajos practicos de mecatronica y robotica. RevistaIberoamericana de Automatica e Informatica Industrial RIAI, 11(4):363– 376, 2014.
Trabajo fin de Grado Pag. 143