Uploaded by Braulio Antonio Martinez Retamales

Informe final tesis

advertisement
Universidad Tecnológica de Chile INACAP
Ingeniería en Automatización y Control Industrial
Análisis de desempeño de controladores no lineales
mediante indicadores estadísticos aplicados a un manipulador
tipo SCARA de 3 GDL RRR.
Diego Arturo Videla Silva
José Manuel Gárate Urtubia
Académico guía: Oscar Ali Lagos Garrido
Santiago Chile, 2020
Agradecimientos
Este proyecto de título y todo lo que significa lo quiero dedicar y agradecer, a ti Nicole por
enseñarme lo lindo que es amar, a ti Mamá por enseñarme lo hermoso que es vivir, y a ti Papá
por enseñarme lo maravilloso que es aprender….
Diego Arturo Videla Silva.
Este proyecto de título, se lo dedico a mi familia por el gran apoyo, comprensión y las horas que
no pude estar con ellos. A ti Mireya y Gonzalo por el apoyo incondicional. Y a mi compañero de
proyecto Diego Videla Silva que es una gran persona y con muchos valores.
José Manuel Gárate Urtubia.
Agradecimientos a los profesores Exequiel Álvarez Olate y Oscar Lagos Garrido por todo su
apoyo y por todo el conocimiento brindado para la elaboración de este proyecto.
Diego Arturo Videla Silva y José Manuel Gárate Urtubia.
2
Prefacio
Cursar para nosotros el ramo de robótica industrial a lo largo de nuestra carrera nos hizo conocer
un increíble campo de estudio dentro de la automatización, la robótica.
La robótica fue desde el inicio de gran interés para nosotros, ambos concordamos en esto, y fue
creciendo aun mas en el transcurso del estudio de esta.
Fue en un momento de desarrollo de una actividad propia del ramo, que estudiando y dándonos
a la tarea de recopilar información, cuando nos cruzamos con los autores Rafael Kelly y Víctor
Santibáñez y su libro de robótica “Control de Movimiento de Robots Manipuladores” ambos
autores comienzan su libro con una introducción que inmediatamente llamo nuestra atención y
dio pie en gran medida a este proyecto. Kelly y Santibáñez plantean algo muy interesante, que,
a pesar de la existencia, de una gran cantidad de robot industriales en el mercado, y varios años
de investigación de robótica, el diseño de controladores sigue siendo de gran interés de
investigación, - claro! -, vimos en clases que los robot industriales actuales cumplen una gran
cantidad de funciones, además de aprender toda la teoría, vimos controladores como el PID que
satisfacen la función de control para el desarrollo de estas funciones, por lo cual, tal como ellos
proponen, - y nosotros concordábamos con esto -, parecería innecesario el seguir con el
desarrollo de investigaciones sobre este campo del control en robótica, sin embargo, el tema del
control es interesante en si mismo, y a lo largo de nuestra carrera pudimos conocer y estudiar
una gran variedad de estos, lo complejo, lo interesante que son y el reto intelectual que significa
la comprensión y desarrollo de estos.
Entonces al inicio del proceso de proyecto de titulo nos planteamos; ¿es posible aplicar los
conocimientos de robótica aprendidos, pero con otro tipo de control?, y mejor aun, si la robótica
es un sistema no lineal es si misma, ¿porque no aplicar control de este tipo?, ¿controladores no
lineales, inclusive inteligencia artificial?
Es dar respuestas a estas interrogantes, que se podría decir, “sembró” este análisis de Kelly y
Santibáñez en nosotros como estudiantes de la carrera de automatización y control industrial, en
el cual esta basado este proyecto, analizar en profundidad el tema de robótica, todo sus aspectos
matemáticos, teóricos y computacionales, además de aplicar al control de estos, controladores
no lineales, algunos conocidos durante nuestro proceso de carrera y otro nuevos por conocer,
pudiendo comprobar, estudiar e inclusive visualizar como es que se comportan al aplicarlos en
robótica.
Finalmente buscar alguna técnica que nos permita poder demostrar de manera cuantitativa
nuestros resultados del análisis.
3
Índice General
Capítulo 1 – Introducción ............................................................................................................................... 7
1.1 - Descripción de la Problemática......................................................................................................... 7
1.2 - Propuesta de solución tecnológica ................................................................................................... 7
1.3 - Objetivos de Proyecto de titulo ......................................................................................................... 8
1.4 - Estructura de Análisis ....................................................................................................................... 8
Capítulo 2 – Estado del Arte .......................................................................................................................... 9
2.1 - Introducción a la Robótica................................................................................................................. 9
2.1.1 - Antecedentes y Origen de la robótica ....................................................................................... 9
2.1.2 - Clasificación de robots .............................................................................................................. 9
2.2 - Manipuladores Robóticos.................................................................................................................. 9
2.2.1 - Definición................................................................................................................................... 9
2.2.2 - Tipo de Configuraciones de Manipuladores Robóticos ........................................................... 10
2.2.3 - Manipulador SCARA ............................................................................................................... 10
2.2.4 - Morfología del Manipulador Robótico...................................................................................... 10
2.2.5 - Grados de libertad ................................................................................................................... 11
2.2.6 - Cadena Cinemática ................................................................................................................. 11
2.2.7 - Actuadores .............................................................................................................................. 11
2.2.8 - Sensores ................................................................................................................................. 11
2.2.9 - Aplicación de Manipuladores Robóticos ................................................................................. 12
2.2.10 - Manipuladores En el Mundo.................................................................................................. 12
2.3 - Estudio de Manipuladores Robóticos.......................................................................................... 13
2.3.1 - Cinemática de Manipuladores ................................................................................................. 13
2.3.2 - Cinemática Directa .................................................................................................................. 13
2.3.2.1 - Matriz de Transformación Homogénea (𝐓) ..................................................................... 14
2.3.2.2 - Matriz de Parámetros Denavit & Hartenberg (DH) .......................................................... 16
2.3.3 - Cinemática Inversa.................................................................................................................. 17
2.3.3.1 - Desacoplo Cinemático..................................................................................................... 18
2.3.4 - Dinámica del Manipulador ....................................................................................................... 19
2.3.4.1 - Modelo Dinámico ............................................................................................................. 20
2.3.5 - Dinámica Directa ..................................................................................................................... 20
2.3.5.1 - Método Newton – Euler ................................................................................................... 21
2.3.6 - Dinámica Inversa..................................................................................................................... 22
2.3.7 - Trayectoria del Manipulador .................................................................................................... 23
2.3.7.1 - Trayectoria cartesiana ..................................................................................................... 23
2.4 - Control de Manipuladores Robóticos .............................................................................................. 24
2.4.1 - Control Lineal .......................................................................................................................... 24
2.4.1.1 - Control PID ...................................................................................................................... 25
2.4.2 - Control No-Lineal .................................................................................................................... 26
2.4.2.1 - Control Seno Coseno Hiperbólico ................................................................................... 26
2.4.2.2 - Control Lógica Difusa ...................................................................................................... 28
2.4.2.3 - Control Neurocompensado.............................................................................................. 32
2.4.2.4 - Control Par Calculado. .................................................................................................... 35
2.5 - Modelamiento Matemático del Servomotor..................................................................................... 36
2.6 - Herramientas de Cálculo y Simulación ........................................................................................... 37
Capítulo 3 – Desarrollo del Proyecto ........................................................................................................... 38
3.1 - Controladores No-Lineales aplicados a un manipulador Robótico ................................................. 38
3.1.1 - Diseño del manipulador........................................................................................................... 38
3.1.2 - Parámetros de Manipulador .................................................................................................... 38
3.1.3 - Simulación con CoppeliaSim................................................................................................... 39
3.2 - Cinemática y Dinámica ................................................................................................................... 41
3.2.1 - Obtención de Matriz de Transformación Homogénea y Denavit & Hartenberg ...................... 41
3.2.2 - Cinemática directa e inversa ................................................................................................... 42
3.2.3 - Dinámica mediante Newton-Euler ........................................................................................... 46
3.2.4 - Modelo Dinámico..................................................................................................................... 47
3.2.5 - Dinámica del Manipulador ....................................................................................................... 48
3.3 - Diseño de trayectoria ...................................................................................................................... 49
3.4 - Modelamiento del Servomotor ........................................................................................................ 50
3.5 - Aplicación de etapas de Control ..................................................................................................... 52
3.5.1 - Implementación Control Seno Coseno Hiperbólico................................................................. 52
3.5.1.1 - Resultados y simulaciones .............................................................................................. 53
3.5.2 - Implementación Control Lógica Difusa.................................................................................... 54
4
3.5.2.1 - Resultados y simulaciones .............................................................................................. 56
3.5.3 - Implementación Control PID Neurocompensado .................................................................... 58
3.5.3.1 - Control PID ...................................................................................................................... 58
3.5.3.2 - Entrenamiento red neuronal ............................................................................................ 58
3.5.3.3 - Implementación de la Neurocompensación. ................................................................... 60
3.5.3.4 - Resultados y simulaciones .............................................................................................. 60
3.5.4 - Implementación Control Par Calculado ................................................................................... 62
3.5.4.1 - Resultados y simulaciones .............................................................................................. 62
Capítulo 4 – Análisis de Desempeño ........................................................................................................... 64
4.1 - Indicadores de desempeño estadísticos ......................................................................................... 64
4.1.1 - RMS – Media cuadrática Residual (Root Mean Square) ........................................................ 64
4.1.2 - RSD – Desviación Estándar Residual (Residual Estándar Deviation) .................................... 64
4.1.3 - AI – Índice de acuerdo (agreement of index) .......................................................................... 65
4.2 - Análisis indicadores de desempeño controladores ......................................................................... 65
4.2.1 - Obtención de indicadores de desempeño ............................................................................... 65
4.2.2 - Resultados y gráficas .............................................................................................................. 66
4.3 - Conclusiones del Análisis ............................................................................................................... 68
4.3.1 – Conclusión Indicador RMS ..................................................................................................... 68
4.3.2 – Conclusión Indicador RSD ..................................................................................................... 69
4.3.3 – Conclusión Indicador AI.......................................................................................................... 69
4.3.4 – Conclusión General ................................................................................................................ 70
Referencias Bibliográficas............................................................................................................................ 72
Índice de Figuras
Figura 2.1 – Clasificación de robots.
Figura 2.2 – Configuraciones de manipuladores robóticos.
Figura 2.3 – Morfología de manipulador robótico similitud brazo humano.
Figura 2.4 – Tipos de articulaciones de un manipulador.
Figura 2.5 – Manipuladores robóticos en la industria.
Figura 2.6 – Estadística proyectada de uso de manipuladores.
Figura 2.7 – Diagrama relación entre cinemática directa e inversa.
Figura 2.8 – Matriz de Transformación homogénea (Rotación, Traslación, Perspectiva, Escalado).
Figura 2.9 – Asignación de sistemas de referencias.
Figura 2.10 – Representación 𝜃𝑖 DH.
Figura 2.11 – Representación 𝑑𝑖 DH.p
Figura 2.12 – Representación 𝑎𝑖 DH.
Figura 2.13 – Representación 𝛼𝑖 DH.
Figura 2.14– Tabla de parámetros DH.
Figura 2.15 – Representaciones fuerza y torque.
Figura 2.16 – Relación dinámica directa e inversa.
Figura 2.17 – Dinámica directa.
Figura 2.18 – Una fuerza F que actúa en el centro de masa de un cuerpo hace que este se acelere.
Figura 2.19 – Dinámica Inversa.
Figura 2.20 – En una trayectoria un manipulador se mueve desde su poción inicial hasta una posición final.
Figura 2.21 – Ejemplo de una trayectoria cartesiana diseñada.
Figura 2.22 – Trayectoria a seguir por un manipulador.
Figura 2.23 – Diagrama sistema de control manipuladores robóticos.
Figura 2.24 – Controladores para sistemas lineales.
Figura 2.25 – Diagrama en bloques controlador PID.
Figura 2.26 – Controladores para sistemas no-lineales.
Figura 2.27 – Función seno hiperbólico.
Figura 2.28 – Función coseno hiperbólico.
Figura 2.29 – Diagrama en bloques controlados seno coseno hiperbólico.
Figura 2.30 – Diagrama control lógica difusa.
Figura 2.31 – Representación matemática y gráfica función singleton.
Figura 2.32 – Representación matemática y gráfica función Triangular.
Figura 2.33 – Representación matemática y gráfica función trapezoidal.
Figura 2.34 – Representación matemática y gráfica función gaussiana.
Figura 2.35 – Representación matemática y gráfica función campana generalizada.
Figura 2.36 – Representación matemática y gráfica función sigmoidal.
5
Figura 2.37 – Estructura de un controlador difuso.
Figura 2.38 – Asignación de valores de entradas a valores lingüísticos, “N”, “Z”, “P”.
Figura 2.39 – Creación de conjuntos recortados (a) o escalados (b).
Figura 2.40 – Defusificación método del centroide.
Figura 2.41 – Estructura neurona biológica.
Figura 2.42 – Estructura neurona artificial.
Figura 2.43 – Representación matemática y gráfica función escalón.
Figura 2.44 – Representación matemática y gráfica función lineal y mixta.
Figura 2.45 – Representación matemática y gráfica función tangente hiperbólica.
Figura 2.46 – Representación matemática y gráfica función sigmoidal.
Figura 2.47 – Representación matemática y gráfica función de gauss.
Figura 2.48 – RNA Multicapa.
Figura 2.49 – Clasificación aprendizaje en RNA.
Figura 2.50 – Diagrama en bloques controlador PID con neurocompensación.
Figura 2.51 – Diagrama en bloques Controlador par calculado.
Figura 2.52 – Servomotor.
Figura 3.1 – Manipulador robótico a utilizar SCARA 3 GDL RRR.
Figura 3.2 – Manipulador robótico diseñado en CoppeliaSim.
Figura 3.3 – Transferencia de archivos necesarios.
Figura 3.4 – Script conexión, elementos del robot, avisos conexión.
Figura 3.5 – Script movimiento de prueba.
Figura 3.6 – Script desconexión.
Figura 3.7 – Representación gráfica manipulador 3GDL RRR – (a) Diagrama técnico (b) Diagrama esquemático.
Figura 3.8 – Tabla de parámetros DH obtenidos para el manipulador 3GDL RRR propuesto.
Figura 3.9 – Scripts obtención matriz de TH mediante parámetros de DH.
Figura 3.10 – Bloque de función Simulink y programación de éste (cinemática directa).
Figura 3.11 – Bloque de función Simulink y programación de éste (cinemática inversa).
Figura 3.12 – Script para el calculo de torques mediante método de Newton-Euler.
Figura 3.13 – Resultados al factorizar torque y obtener las matrices de inercia y Coriolis.
Figura 3.14 – Bloque de función Simulink y programación de la dinámica inversa.
Figura 3.15 – Trayectoria cartesiana diseñada.
Figura 3.16 – Bloque de función Simulink, programación y gráfica resultante de la trayectoria deseada.
Figura 3.17 – Bloque de función Simulink y programación Servomotores.
Figura 3.18 – Modelo completo en Simulink del manipulador robótico de 3GDL RRR.
Figura 3.19 – Control seno coseno hiperbólico en Simulink.
Figura 3.20 – Gráfico de trayectoria deseada (a) frente a trayectoria obtenida (b) C. senh cosh.
Figura 3.21 – Gráfico de posiciones angulares deseadas frente a las obtenidas C. senh cosh.
Figura 3.22 – Captura de CoppeliaSim trayectoria realizada por el manipulador C. senh cosh.
Figura 3.23 – configuración mediante toolbox Fuzzy Logic Designer.
Figura 3.24 – Funciones de membresía utilizadas en las entradas.
Figura 3.25 – Control lógica difusa en Simulink.
Figura 3.26 – Gráfico de trayectoria deseada (a) frente a trayectoria obtenida (b) C. Fuzzy.
Figura 3.27 – Gráfico de posiciones angulares deseadas frente a las obtenidas C. Fuzzy.
Figura 3.28 – Captura de CoppeliaSim trayectoria realizada por el manipulador. C. Fuzzy.
Figura 3.29 – Control PID Simulink.
Figura 3.30 – Proceso de entrenamiento Red.
Figura 3.31 – Configuración nntool para la red neuronal.
Figura 3.32 – Proceso de entrenamiento.
Figura 3.33 – PID Neurocompensado Custom Neural Network de las articulaciones
Figura 3.34 – Gráfico de trayectoria deseada (a) frente a trayectoria obtenida (b). C. Neurocompensado.
Figura 3.35 – Gráfico de posiciones angulares deseadas frente a las obtenidas. C. Neurocompensado.
Figura 3.36 – Captura de CoppeliaSim trayectoria realizada por el manipulador. C. Neurocompensado.
Figura 3.37 – Control par calculado en Simulink.
Figura 3.38 – Gráfico de trayectoria deseada (a) frente a trayectoria obtenida (b). C. Par Calculado.
Figura 3.39 – Gráfico de posiciones angulares deseadas frente a las obtenidas. C. Par Calculado.
Figura 3.40 – Captura de CoppeliaSim trayectoria realizada por el manipulador. C. Par Calculado.
Figura 4.1 – Script para la obtención de parámetros necesarios en el calculo de indicadores.
Figura 4.2 – Script para la obtención índices de desempeño.
Figura 4.3 – Tabla de Resultados Indicadores de desempeño aplicados a los controladores.
Figura 4.4 – Gráfico valores, indicador RMS obtenidos de los controladores (resultados entre 0 y 1).
Figura 4.5 – Gráfico valores, indicador RSD obtenidos de los controladores (resultados entre 0 y 1).
Figura 4.6 – Gráfico valores, indicador AI obtenidos de los controladores (resultados entre 0 y 1).
Figura 4.7 – Tabla de resultados controladores mejor desempeño.
Figura 4.8 – Tabla de resultados controlador desempeño medio.
Figura 4.9 – Tabla de resultados controlador desempeño bajo.
Figura 4.10 – Orden de controladores en base s su desempeño.
6
Capítulo 1 – Introducción
1.1 - Descripción de la Problemática
Este Proyecto de Titulo se centra en la intersección existente entre la robótica y la ingeniería
eléctrica y más específicamente con el área de control automático. De dicha interacción
sobresale el tema del control de manipuladores.
A pesar de la existencia de robots comerciales, el diseño de controladores para robots sigue
siendo un área de intensos estudios por parte de los constructores de robots, así como de los
centros de investigación. Podría argumentarse que los robots industriales actuales son capaces
de realizar correctamente una gran variedad de actividades, por lo que parecería innecesario, a
primera vista, el desarrollo de investigaciones sobre este tema de control de robots. Sin embargo,
este último tema no solo es interesante en si mismo, sino que también ofrece grandes retos
teóricos, y más importante aún, su estudio es indispensable en aplicaciones específicas que no
pueden ser llevadas a cabo mediante los robots comerciales actuales.
(Control de Movimiento de Robots Manipuladores – R. Kelly, V. Santibáñez, 2003, p.10)
El correcto seguimiento de una trayectoria definida por un manipulador robótico se puede ver
afectado por perturbaciones o por la mala aplicación de alguna técnica de control sobre este.
Estos efectos indeseados se deben reducir para no afectar el proceso; es debido a esto que se
han desarrollado diversas técnicas, basadas en control no lineal multivariables y otras que
complementan el uso de algoritmos de optimización considerando estructuras del tipo
Inteligencia artificial.
1.2 - Propuesta de solución tecnológica
La propuesta se basa en analizar y comparar el desempeño de diversas técnicas de control no
lineal aplicadas a un manipulador robótico de 3 GDL tipo SCARA RRR. Las técnicas aplicadas
en la documentación investigativa son consideradas para el control del seguimiento de una
trayectoria definida.
1. Control seno coseno hiperbólico
2. Lógica Difusa
3. PID Neurocompensado
4. Par Calculado
Estas pueden ser implementadas, simuladas y comparadas mediante la obtención de índices de
desempeño que puedan dar una visión global de manera cuantitativa sobre los diferentes
resultados al utilizar dichas técnicas en el control.
7
1.3 - Objetivos de Proyecto de titulo
Objetivo General
Diseñar, simular, analizar y comparar 4 técnicas de control no lineales mediante indicadores de
desempeño aplicados a un manipulador robótico SCARA de 3 GDL RRR.
Objetivos Específicos
1. Diseño de un manipulador robótico tipo SCARA de 3 GDL RRR.
2. Cálculo de cinemática y dinámica directa e inversa del manipulador (Matlab).
3. Simulación y diseño de 4 técnicas de control no lineales (Matlab & Simulink).
4. Simulación y Diseño de técnicas de control mediante Software CoppeliaSim.
5. Obtención de índices de desempeño (RMS, RSD, AI) de cada técnica de control (Matlab
& Simulink).
6. Comparativa entre resultados de índices de desempeño obtenidos.
1.4 - Estructura de Análisis
Un análisis de un tema de interés que pudiese ser (texto, informe, matemática, etc.) es un
proceso en el cual se examinan detalladamente los componentes de un problema u tema de
estudio, principalmente los resultados. Se busca establecer relaciones entre las evidencias
recogidas y los fundamentos teóricos que mas se adecuan al tema analizado.
Pasos para un análisis:
1.- Enunciar el tema o aspecto relevante, realizando una introducción al tema que se va a
analizar o desarrollar.
2.- Citar la evidencia e incorporar un fragmento, se deben incluir directamente citas que
demuestren lo explicado. Además de integrar todos los resultados o evidencia del análisis.
3.- Interpretar la evidencia desde la teoría, un análisis debe ir mas allá de la mera identificación
de fenómenos. Se debe intentar proponer una interpretación de las causas o implicancia del
fenómeno observado.
8
Capítulo 2 – Estado del Arte
2.1 - Introducción a la Robótica
La robótica es un campo de la tecnología moderna. El buen entendimiento y el desarrollo de
aplicaciones de robótica está condicionado al dominio de diversas áreas del conocimiento.
Paulatinamente, la robótica ha venido ganando terreno como material de enseñanza en diversas
universidades. Las disciplinas hacia las cuales se orientan estos cursos han sido
tradicionalmente las ingenierías eléctricas, electrónicas, mecánica, industrial y ciencias
computacionales, y más recientemente la mecatrónica, control y cibernética.
(Control de Movimiento de Robots Manipuladores – R. Kelly, V. Santibáñez, 2003, p.3)
2.1.1 - Antecedentes y Origen de la robótica
A lo largo de toda la historia, el hombre se ha sentido fascinado por máquinas y dispositivos
capaces de imitar las funciones y los movimientos de los seres vivos. Los griegos tenían una
palabra específica para denominar a estas máquinas: automatos.
La palabra Robot fue usada por primera vez en el año 1921, cuando el escritor checo Karel
Capek (1890-1938) estrenó en el teatro nacional de Praga su obra Rossum’s Universal Robot
(R.U.R.). Su origen es la palabra eslava robota, que se refiere al trabajo realizado de manera
forzada u obligada.
La Robótica, termino cuya creación se atribuye a Isaac Asimov está ocupando un lugar
destacado en la automatización de los sectores industriales en la actualidad.
2.1.2 - Clasificación de robots
Figura 2.1 – Clasificación de Robots
2.2 - Manipuladores Robóticos
2.2.1 - Definición
Un Robot Manipulador industrial es una maquina manipuladora con varios grados de libertad
controlada automáticamente, reprogramable y de múltiples usos, pudiendo estar en un lugar fijo
o móvil para su empleo en aplicaciones industriales.
(Definición adoptada por la federación internacional de robótica IFR bajo norma ISO/TR 8373).
9
2.2.2 - Tipo de Configuraciones de Manipuladores Robóticos
Figura 2.2 – Configuraciones de Manipuladores Robóticos
2.2.3 - Manipulador SCARA
Un Manipulador SCARA, “Brazo robótico de ensamblaje selectivo compatible” (Selective
Compliant Assembly Robot Arm o Selective Compliant Articulated Robot Arm) es un robot con
posicionamiento horizontal. Los robots SCARA se conocen por sus rápidos ciclos de trabajo,
excelente repetitividad, gran capacidad de carga y su amplio campo de aplicación.
Es rápido, barato y preciso, pero solo tiene accesibilidad a zonas de trabajo que estén en planos
perpendiculares a su eje vertical. Se emplea fundamentalmente en operaciones de ensamblado
o inserción de componentes electrónicos y en otros trabajos similares.
2.2.4 - Morfología del Manipulador Robótico
Figura 2.3 – Morfología de manipulador Robótico similitud brazo humano.
Mecánicamente, un robot está formado por una serie de elementos o eslabones unidos mediante
articulaciones que permiten un movimiento relativo entre cada dos eslabones consecutivos. La
constitución física de la mayor parte de los robots manipuladores industriales guarda cierta
similitud con la anatomía del brazo humano, por lo que, en ocasiones, para hacer referencia a
los distintos elementos que componen el robot, se usan términos como cuerpo, brazo, codo y
muñeca.
(Fundamentos de Robótica – Barrientos, Peñín, Balaguer, Aracil, 2007, p.31)
10
2.2.5 - Grados de libertad
Cada uno de los movimientos independientes que puede realizar cada articulación con respecto
a la anterior, se denomina grados de libertad (GDL) o en ingles degree of freedom (DOF). Un
manipulador robótico puede tener 𝑛 grados de libertad, son normales hasta 6 GDL en
manipuladores del tipo SCARA y más de 6 para manipuladores del tipo antropomórfico.
2.2.6 - Cadena Cinemática
Una Cadena Cinemática, es una serie de eslabones o barras unidas por articulaciones. La
estructura mecánica de un robot manipulador constituye una cadena cinemática.
Figura 2.4 – Tipos de Articulaciones de un manipulador.
2.2.7 - Actuadores
Son los encargados de generar el movimiento que a través de las trasmisiones es transportado
hacia las articulaciones del robot, estos movimientos son previamente establecidos por un
controlador con el fin de posicionar el efector final en las coordenadas deseadas.
Los actuadores pueden ser del tipo:
•
•
•
Electrónico / eléctrico
Neumático
Hidráulico
2.2.8 - Sensores
Los sensores son de vital importancia para lograr conseguir que el robot realice su trabajo con la
precisión, velocidad e inteligencia adecuada, pues permiten tener una relación directa tanto con
su estado como con el entorno; estos se clasifican en dos tipos, sensores internos y sensores
externos, los cuales pueden ser empleados dependiendo la aplicación y finalidad de robot.
Los sensores más utilizados son:
•
•
•
•
•
Sensor de Posición
Sensor de Velocidad
Sensor de Aceleración
Sensor de Fuerza
Sensor de presión
11
2.2.9 - Aplicación de Manipuladores Robóticos
Los manipuladores robóticos se encuentran en la actualidad cumpliendo variadas funciones en
la industria, entre los fines de uso más comunes están:
Figura 2.5 – Manipuladores robóticos en la industria.
2.2.10 - Manipuladores En el Mundo
La robótica es cada vez mas aplicada en el sector industrial a nivel mundial, lo demuestran las
estadísticas entregadas por la federación internacional de robótica IFR, en donde en los países
del mundo va en crecida la incorporación de estas tecnologías a la producción industrial y se
proyecta un aumento en los próximos años.
Esto se debe principalmente a los beneficios que entregan los cuales son:
1. Reducción de costos de mano de obra.
2. Flexibilidad de la producción.
3. Incremento de la productividad.
4. Mejora de la imagen (modernidad).
5. Mejora de la calidad del producto acabado.
Figura 2.6 – Estadística proyectada de uso de manipuladores.
12
2.3 - Estudio de Manipuladores Robóticos
2.3.1 - Cinemática de Manipuladores
La cinemática del Robot Manipulador estudia el movimiento de este con respecto a un sistema
de referencia sin considerar las fuerzas que intervienen.
La cinemática se interesa por la descripción analítica del movimiento espacial del robot
manipulador como una función del tiempo y en particular por las relaciones entre la posición y
orientación del extremo final del robot con los valores que toman sus coordenadas articulares.
(Fundamentos de Robótica – Barrientos, Peñín, Balaguer, Aracil, 2007, p.119)
Cuando se estudia el movimiento de los robots es importante tener en cuenta que los mismos
realizan movimientos de rotación y traslación y que dichos movimientos se describirán de manera
adecuada siempre que se mantenga un orden determinado, el cual puede establecerse mediante
una asignación ordenada de un conjunto de sistemas de coordenadas para cada uno de los
eslabones del manipulador, y estableciendo la relación que existe a través de dichos sistemas
de coordenadas. (Cinemática y Dinámica de Robots Manipuladores - Roger Miranda Colorado, 2016, p.18)
Existen 2 problemas fundamentales a resolver en la cinemática del robot.
•
•
Cinemática Directa: Consiste en determinar cual es la posición y orientación del
extremo final del robot, en base a las posiciones angulares de las articulaciones.
Cinemática Inversa: Resuelve la configuración angular que debe adoptar el robot para
una posición y orientación del extremo conocidas.
Figura 2.7 – Diagrama relación entre cinemática directa e inversa.
2.3.2 - Cinemática Directa
La Cinemática directa Permite conocer cual es la posición y orientación que adopta el extremo
del robot manipulador cuando cada una de las variables que fijan la posición u orientación de sus
articulaciones toma valores determinados.
Dado que son las variables articulares las que pueden ser leídas directamente de los sensores
por la unidad de control del robot manipulador, el modelo cinemático directo será utilizado por
entre otros fines, para presentar al usuario información relativa a la localización del extremo del
robot manipulador.
La obtención del modelo cinemático directo se puede abordar mediante 2 enfoques, mediante
métodos geométricos (útiles para manipuladores de hasta 3 GDL, para mas de estos se vuelve
inoperativo por no tener un procedimiento específico para su resolución) y mediante matrices
de transformación homogénea para la cual se recurre al método de Denavit & Hartenberg
(1955) como un método sistemático para la obtención de las variables que componen la matriz
de transformación homogénea.
(Fundamentos de Robótica – Barrientos, Peñín, Balaguer, Aracil, 2007, p.120)
13
Figura 2.8 – Matriz de Transformación homogénea (Rotación, Traslación, Perspectiva, Escalado)
La Matriz de Transformación Homogénea contiene las variables 𝜃! 𝑑! 𝑎! 𝛼! necesarias para
poder determinar la rotación, traslación, perspectiva y escalado del robot manipulador, para la
obtención de dichas variables se recurre al algoritmo de Denavit & Hartenberg el que plantea un
proceso sistemático para la obtención de dichas variables.
Solo los valores de Rotación y Traslación son necesarios para la obtención de la cinemática
directa, tanto la perspectiva y escalado no son de importancia en este estudio.
2.3.2.1 - Matriz de Transformación Homogénea (𝑻)
Las matrices de transformación homogénea permiten la representación conjunta de la posición
y orientación de un sólido en el espacio.
𝑃𝑜𝑠𝑖𝑐𝑖𝑜𝑛 + 𝑜𝑟𝑖𝑒𝑛𝑡𝑎𝑐𝑖𝑜𝑛 = 𝐿𝑜𝑐𝑎𝑙𝑖𝑧𝑎𝑐𝑖𝑜𝑛
𝑅𝑜𝑡𝑎𝑐𝑖ó𝑛
𝑇=5
𝑃𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑎
.
•
𝑅
𝑇𝑟𝑎𝑠𝑙𝑎𝑐𝑖ó𝑛
; = 5 "#"
𝐸𝑠𝑐𝑎𝑙𝑎𝑑𝑜
𝑃$#"
𝑇"#$
;
𝐸$#$
Matrices de Rotación
Las matrices de rotación son el método mas extendido para la descripción de orientaciones.
Pueden componerse para expresar la aplicación continua de varias rotaciones.
𝑅𝑜𝑡𝑎𝑐𝑖ó𝑛 = 𝑅"#" = 𝑀𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 3𝑥3 𝑞𝑢𝑒 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒 𝑎 𝑙𝑎 𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑅𝑜𝑡𝑎𝑐𝑖𝑜𝑛
1
0
𝑅𝑜𝑡! (𝛼) = .0 cos 𝛼
0 sin 𝛼
𝑅𝑜𝑡" (𝜙) = .
cos 𝜙 0 sin 𝜙
0
1
0 7
−sin 𝜙 0 cos 𝜙
cos 𝜃
𝑅𝑜𝑡# (𝜃) = . sin 𝜃
0
•
0
− sin 𝛼7
cos 𝛼
−sin 𝜃
cos 𝜃
0
0
07
1
Submatrices de Traslaciones
Las matrices de traslaciones representan la distancia (𝑑) en cada uno de los ejes.
14
𝑇𝑟𝑎𝑠𝑙𝑎𝑐𝑖ó𝑛 = 𝑇"#$ = 𝑆𝑢𝑏𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 3𝑥1 𝑞𝑢𝑒 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒 𝑎 𝑙𝑎 𝑠𝑢𝑏𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑇𝑟𝑎𝑠𝑙𝑎𝑐𝑖ó𝑛
𝑑
𝑇𝑟𝑎𝑠# (𝑑) = G0I
0
0
𝑇𝑟𝑎𝑠% (𝑑) = G𝑑I
0
0
𝑇𝑟𝑎𝑠& (𝑑) = G 0I
𝑑
Las matrices de traslaciones se acompañan de una matriz identidad para poder realizar la
multiplicación. Quedando:
1 0 0 𝑑
𝑇𝑟𝑎𝑠# (𝑑) = G0 1 0 0 I
0 0 1 0
•
1 0 0 0
𝑇𝑟𝑎𝑠% (𝑑) = G0 1 0 𝑑 I
0 0 1 0
1 0 0 0
𝑇𝑟𝑎𝑠& (𝑑) = G0 1 0 0 I
0 0 1 𝑑
Submatriz de Perspectiva
𝑃𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑎 = 𝑃$#" = 𝑆𝑢𝑏𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 1𝑥3 𝑞𝑢𝑒 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒 𝑎 𝑙𝑎 𝑠𝑢𝑏𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝑃𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑎
En este estudio no es de mayor interés por lo cual:
•
𝑃$#" = [0 0 0]
Submatriz de Escalado
𝐸𝑠𝑐𝑎𝑙𝑎𝑑𝑜 = 𝐸$#$ = 𝑆𝑢𝑏𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 1𝑥1 𝑞𝑢𝑒 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒 𝑎 𝑙𝑎 𝑠𝑢𝑏𝑚𝑎𝑡𝑟𝑖𝑧 𝑑𝑒 𝐸𝑠𝑐𝑎𝑙𝑎𝑑𝑜
En este estudio no es de mayor interés por lo cual:
𝐸$#$ = [ 1]
En general un robot manipulador de 𝑛 grados de libertad esta
formado por 𝑛 eslabones unidos por 𝑛 articulaciones, de
forma que cada par articulación-eslabón constituye un grado
de libertad. A cada eslabón se le puede asociar un sistema
de referencia solidario a él y utilizando la matriz de
transformación homogénea es posible representar rotaciones
y traslaciones relativas entre los distintos eslabones que
componen el robot manipulador.
(Fundamentos de Robótica – Barrientos, Peñín, Balaguer, Aracil, 2007,
p.122)
Figura 2.9 – Asignación de sistemas de referencias.
La matriz de Transformación homogénea que representa la posición y orientación relativa entre
los sistemas se denomina
𝑀𝑎𝑡𝑟𝑖𝑧 𝐴LMN
L
Así:
𝐴$' − 𝑃𝑜𝑠𝑖𝑐𝑖𝑜𝑛 𝑦 𝑜𝑟𝑖𝑒𝑛𝑡𝑎𝑐𝑖𝑜𝑛 𝑑𝑒𝑙 𝑝𝑟𝑖𝑚𝑒𝑟 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 𝑟𝑒𝑠𝑝𝑒𝑐𝑡𝑜 𝑎 𝑙𝑎 𝑏𝑎𝑠𝑒.
𝐴$' − 𝑃𝑜𝑠𝑖𝑐𝑖𝑜𝑛 𝑦 𝑜𝑟𝑖𝑒𝑛𝑡𝑎𝑐𝑖𝑜𝑛 𝑑𝑒𝑙 𝑠𝑒𝑔𝑢𝑛𝑑𝑜 𝑠𝑖𝑠𝑡𝑒𝑚𝑎 𝑟𝑒𝑠𝑝𝑒𝑐𝑡𝑜 𝑎𝑙 𝑝𝑟𝑖𝑚𝑒𝑟𝑜.
⋮
𝐴()$
−
𝑃𝑜𝑠𝑖𝑐𝑖𝑜𝑛
𝑦
𝑜𝑟𝑖𝑒𝑛𝑡𝑎𝑐𝑖𝑜𝑛
𝑑𝑒𝑙
𝑛
𝑠𝑖𝑠𝑡𝑒𝑚𝑎
𝑟𝑒𝑠𝑝𝑒𝑐𝑡𝑜
𝑎𝑙 𝑛 − 1.
(
15
Por lo tanto,
𝑀𝑎𝑡𝑟𝑖𝑧 𝑇 = 𝐴LMN
= 𝐴NU ∗ 𝐴NV ∗ 𝐴VW ∗ 𝐴WX ∗ 𝐴ZY ∗ 𝐴[MN
[
L
2.3.2.2 - Matriz de Parámetros Denavit & Hartenberg (DH)
La matriz de parámetros de Denavit & Hartenberg (1955) es un modelo sistemático para describir
la cinemática directa de un robot manipular.
La matriz de DH, representa la multiplicación de los elementos propios de la matriz de
transformación homogénea para cada una de las articulaciones asociada al sistema de
referencia solidario en base a la sucesión de:
1.- Rotar alrededor del eje 𝑧!)$ un ángulo 𝜃!
2.- Traslación a lo largo del 𝑧!)$ una distancia 𝑑!
3.- Traslación a lo largo de 𝑥! una distancia 𝑎!
4.- Rotación alrededor del eje 𝑥! un ángulo 𝛼!
Por lo tanto,
𝐴!)$
= 𝑅𝑜𝑡& (𝜃) ∗ 𝑇𝑟𝑎𝑠& (𝑑! ) ∗ 𝑇𝑟𝑎𝑠# (𝑑! ) ∗ 𝑅𝑜𝑡# (𝛼)
!
cos 𝜃
𝐴!)$
=
G
sin 𝜃
!
0
−sin 𝜃
cos 𝜃
0
0
1 0 0 0
1 0 0 𝑑
1
0
0I ∗ G0 1 0 0 I ∗ G0 1 0 0 I ∗ G0 cos 𝛼
1
0 0 1 𝑑
0 0 1 0
0 sin 𝛼
cos 𝜃!
𝐴!)$
=
G
sin 𝜃!
!
0
− cos 𝛼! sin 𝜃!
cos 𝛼! cos 𝜃!
sin 𝛼!
sin 𝛼! sin 𝜃!
− sin 𝛼! cos 𝜃!
cos 𝛼!
0
− sin 𝛼I
cos 𝛼
𝑎! cos 𝜃!
𝑎! sin 𝜃! I
𝑑!
Dado que el producto entre matrices no es conmutativo, las transformaciones se
han de realizar en el orden indicado
Parámetros de la Matriz Denavit & Hartenberg (DH)
Consiste en determinar 4 parámetros 𝜃! 𝑑! 𝑎! 𝛼! que describen la posición y orientación entre
cada uno de los sistemas de referencia.
El algoritmo para la resolución del problema cinemático directo de Denavit & Hartenberg, consta
de un procedimiento de 16 pasos (DH1 – DH16), el cual es posible resumir o mejor dicho abordar
de una manera simplificada en base a los propuesto por John J. Craig el cual plantea una forma
resumida de obtención de variables mediante el análisis de las tramas de los vínculos.
(Robótica, John J. Craig, 3era Edición, 2006, p.69)
Resumen de los parámetros de vínculos en términos de las tramas de vínculos.
𝒂𝒊
𝜶𝒊
𝒅𝒊
𝜽𝒊
= 𝑙𝑎 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝑑𝑒 𝒛𝒊 𝑎 𝒛𝒊,𝟏 𝑚𝑒𝑑𝑖𝑑𝑎 𝑠𝑜𝑏𝑟𝑒 𝒙𝒊
= 𝑒𝑠 𝑒𝑙 á𝑛𝑔𝑢𝑙𝑜 𝑑𝑒 𝒛𝒊 𝑎 𝒛𝒊,𝟏 𝑚𝑒𝑑𝑖𝑑𝑎 𝑠𝑜𝑏𝑟𝑒 𝒙𝒊
= 𝑙𝑎 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑖𝑎 𝑑𝑒 𝒙𝒊)𝟏 𝑎 𝒙𝒊 𝑚𝑒𝑑𝑖𝑑𝑎 𝑠𝑜𝑏𝑟𝑒 𝒛𝒊
= 𝑒𝑠 𝑒𝑙 á𝑛𝑔𝑢𝑙𝑜 𝑑𝑒 𝒙𝒊)𝟏 𝑎 𝒙𝒊 𝑚𝑒𝑑𝑖𝑑𝑎 𝑠𝑜𝑏𝑟𝑒 𝒛𝒊
Modelo Sistemático:
1.- Rotar alrededor del eje 𝑧! un ángulo 𝜃! .
𝜃! = Es el ángulo en que debe girarse el eje 𝑥!)$ alrededor de 𝑧! para
quedar paralelo a 𝑥! .
Figura 2.10 – Representación 𝜃$ DH.
16
2.- Traslación a lo largo del eje 𝑧! una distancia 𝑑! .
𝑑! = Es la distancia que debe desplazarse 𝑥!)$ en la dirección de 𝑧! para
quedar alineado con 𝑥! .
Figura 2.11 – Representación 𝑑$ DH
3.- Traslación a lo largo del eje 𝑥! una distancia 𝑎! .
𝑎! = Es la distancia que debe desplazarse 𝑧! en la dirección de 𝑥! para que su
origen coincida con el de 𝑧!,$ .
Figura 2.12 – Representación 𝑎$ DH
4.- Rotar alrededor del eje 𝑥! un ángulo 𝛼! .
𝛼! = Es el ángulo en que debe girarse el eje 𝑧! alrededor de 𝑥! para quedar
paralelo a 𝑧!,$ .
Figura 2.13 – Representación 𝛼$ DH
Tabla de parámetros de Denavit & Hartenberg:
Figura 2.14 – Tabla de parámetros DH
2.3.3 - Cinemática Inversa
El objetivo del problema cinemático inverso consiste en encontrar los valores que deben adoptar
las coordenadas articulares del robot 𝑞 = [𝑞$ , 𝑞. , … … . 𝑞( ] para que su extremo se posicione y
oriente según una determinada localización espacial.
(Fundamentos de Robótica – Barrientos, Peñín, Balaguer, Aracil, 2007, p.134)
En definitiva, lo que busca la cinemática inversa es conocer los ángulos 𝜃$ , 𝜃. … . . 𝜃( en función
de las longitudes y los parámetros.
𝜃$ = 𝑓l𝑙(𝑥, 𝑦)m
𝜃. = 𝑓l𝑙(𝑥, 𝑦)m
𝜃( = 𝑓l𝑙(𝑥, 𝑦)m
17
2.3.3.1 - Desacoplo Cinemático
En principio es posible tratar de obtener el modelo cinemático inverso de un robot a partir del
conocimiento de su modelo directo. Es decir, suponiendo conocidas las relaciones que expresan
el valor de la posición y orientación del extremo del robot en función de sus coordenadas
articulares, obtener por manipulación de aquellas las relaciones inversas.
Obtenida la expresión de la matriz T en función de las coordenadas articulares 𝜃$ , 𝜃. … . . 𝜃( , y su
supuesta localización de destino para el extremo del robot definida por los vectores 𝑛, 𝑜 , 𝑎 𝑦 𝑝.
𝐴'" = 𝐴$' ∗ 𝐴$. ∗ 𝐴."
Por lo tanto,
𝑛# 𝑜# 𝑎# 𝑝#
𝑛
𝑜 𝑎 𝑝
𝐴'" = n 𝑛% 𝑜% 𝑎% 𝑝% o
& & & &
0 0 0 1
𝑛# 𝑜# 𝑎# 𝑝#
𝑛% 𝑜% 𝑎% 𝑝%
n 𝑛 𝑜 𝑎 𝑝 o = 𝐴$' ∗ 𝐴$. ∗ 𝐴."
& & & &
0 0 0 1
En esta parte de la igualdad
se encuentras presente
todos los ángulos 𝜃$ , 𝜃. , 𝜃"
Despejando ángulos 𝜃 de la expresión,
𝑛# 𝑜# 𝑎# 𝑝#
𝑛
𝑜 𝑎 𝑝
(𝐴$' )/ ∗ n % % % % o = 𝐴$. ∗ 𝐴."
𝑛& 𝑜& 𝑎& 𝑝&
0 0 0 1
En esta parte de la igualdad
se encuentras presente solo
los ángulos 𝜃. , 𝜃"
Del siguiente calculo de matriz se obtendrán 2 matrices una a cada lado de la igualdad una
(izquierda) en función de la posición (x, y) y la otra (derecha), solo en función de los ángulos
𝜃. , 𝜃" .
𝑛# 𝑜# 𝑎# 𝑝#
𝑎
𝑛% 𝑜% 𝑎% 𝑝%
n 𝑛 𝑜 𝑎 𝑝 o = p𝑏
𝑐
& & & &
0
0 0 0 1
𝑑
𝑓
𝑔
0
ℎ𝑘
𝑖 𝑙
𝑗 𝑚t
01
Al reducir la expresión considerando solo la columna necesaria para el calculo, queda,
𝑛# 𝑜# 𝑎# 𝑝#
𝑎
𝑛% 𝑜% 𝑎% 𝑝%
n 𝑛 𝑜 𝑎 𝑝 o = p𝑏
𝑐
& & & &
0
0 0 0 1
𝑑
𝑓
𝑔
0
ℎ𝑘
𝑖 𝑙
𝑗 𝑚t
01
𝑝#
𝑘
𝑝%
n𝑝 o = n𝑚𝑙 o
&
1
1
De este despeje, se podrá observar que la cantidad de variables a quedar en cuanto a los ángulos
𝜃! y las distancias 𝑙! hacen dificultosa la obtención de la cinemática inversa y los valores de
ángulos ya que la expresión quedara en función de 2 ángulos 𝜃$ 𝑦 𝜃. y todas las distancias; por
ende el despeje no es viable. Debido a esto la solución es igualar las variables a una sola
expresión.
𝑙$ = 𝑙. = 𝑙" = 𝑙
𝜃. = 𝜃"
18
Luego, considerando esto se vuelve a despejar la expresión inicial
𝑛# 𝑜# 𝑎# 𝑝#
𝑛
𝑜 𝑎 𝑝
(𝐴$. )/ ∗ (𝐴$' )/ ∗ n % % % % o = 𝐴."
𝑛& 𝑜& 𝑎& 𝑝&
0 0 0 1
En esta parte de la igualdad
solo se encuentras presente
el ángulo 𝜃"
Al reducir la expresión considerando solo la columna necesaria para el cálculo, queda
𝑛# 𝑜# 𝑎# 𝑝#
𝑎 𝑑
𝑛% 𝑜% 𝑎% 𝑝%
𝑓
n 𝑛 𝑜 𝑎 𝑝 o = p𝑏
𝑐 𝑔
& & & &
0 0
0 0 0 1
𝑝#
𝑘
𝑝%
n𝑝 o = n𝑚𝑙 o
&
1
ℎ𝑘
𝑖 𝑙t
𝑗𝑚
01
1
De este despeje se podrá observar que ahora ambas expresiones (a cada lado de la igualdad)
quedaran en función de solo 2 variables 𝜃$ 𝑦 𝑙 por lo cual será posible el despeje de 𝜃$
𝜃$ = 𝑓(𝑥, 𝑦)
Y por consiguiente el posterior despeje de 𝜃. y 𝜃" .
El desacoplo cinemático con la aplicación de las condiciones anteriormente
descritas, es posible en el caso de tratarse de manipuladores del tipo SCARA de
articulaciones rotaciones hasta solo 3 grados de libertad. Debido a ser un
manipulador de articulaciones redundantes la condición es aplicable (esto cambia
si se añaden articulaciones prismáticas), pero al sumar mas articulaciones
rotacionales se vuelve ineficiente ya que solo se extiende el funcionamiento de la
última articulación sin darle un movimiento individual. Para manipuladores de
otros tipos si es posible la cinemática inversa de n grados de libertad mediante
otras técnicas avanzadas.
2.3.4 - Dinámica del Manipulador
La dinámica se ocupa de la relación entre las fuerzas que actúan sobre un cuerpo y el movimiento
que se origina. Por tanto, el modelo dinámico de un robot tiene por objetivo conocer la relación
entre el movimiento del robot y las fuerzas implicadas en el mismo.
(Fundamentos de Robótica – Barrientos, Peñín, Balaguer, Aracil, 2007, p.215)
La dinámica básicamente es el estudio de las fuerzas y torques y su efecto en el movimiento.
Figura 2.15 – Representaciones Fuerza y Torque
19
En la dinámica del robot manipulador se establece la relación entre dinámica directa e inversa.
Figura 2.16 – Relación Dinámica Directa e Inversa
2.3.4.1 - Modelo Dinámico
El denominado modelo dinámico establece la relación matemática entre:
1.- La localización del robot definida por sus variables articulares o por las coordenadas de
localización de su extremo, y sus derivadas: Velocidad y Aceleración.
2.- Las fuerzas y pares aplicados en las articulaciones (o en el extremo del robot).
3.- Los parámetros dimensionales del robot, como longitud, masa e inercias de sus elementos.
Modelo Dinámico:
𝜏 = [𝑀 (𝑞 ) ∗ 𝑞̈ ] + [𝐶 (𝑞, 𝑞̇ )] + [𝐺 (𝑞 )] + [𝐹 (𝑞̇ )]
𝑀(𝑞, 𝑞̇ ) = Matriz de inercia. (momento de inercia) mxm [para 3 GDL = matriz 3x3]
𝐶(𝑞, 𝑞̇ ) = Fuerza centrifuga y de Coriolis mx1 [para 3 GDL = matriz 3x1]
𝐺(𝑞) = Fuerza de gravedad que afectan al manipulador mx1 [para 3 GDL = matriz 3x1]
𝐹(𝑞̇ ) = Fuerzas de roce y fricción viscosa mx1 [para 3 GDL = matriz 3x1]
Al plantear el equilibrio de fuerzas y pares que intervienen sobre el robot manipulador se obtienen
los denominados modelos dinámicos Directos e inversos.
•
•
Dinámica Directa
Dinámica Inversa
2.3.5 - Dinámica Directa
La dinámica directa corresponde al análisis en el cual se determinan las fuerzas generalizadas
de un manipulador.
𝐹𝑢𝑒𝑟𝑧𝑎𝑠 𝐺𝑒𝑛𝑒𝑟𝑎𝑙𝑖𝑧𝑎𝑑𝑎𝑠 (𝜏) = 𝑓(𝑞̈ ! , 𝑞̇ ! , 𝑞! )
𝑖 = 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒 𝑎 𝑙𝑎 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝐺𝐷𝐿 𝑑𝑒𝑙 𝑚𝑎𝑛𝑖𝑝𝑢𝑙𝑎𝑑𝑜𝑟
20
Figura 2.17 – Dinámica Directa
Para determinar las fuerzas generalizadas aparece el concepto de Euler-Lagrange, mediante
este método se obtienen los torques o fuerzas generalizadas del manipulador realizando un
análisis de las energías tanto cinética como potencial del sistema.
A su vez también se puede realizar dicho calculo mediante el método de Newton-Euler, con el
cual se obtienen los torques o fuerzas generalizadas del manipulador realizando un análisis de
las velocidades y aceleraciones, angulares y lineales en los centros de masas de cada uno de
los eslabones del manipulador. Mediante este último estudio será con el cual se desarrollará este
proyecto.
2.3.5.1 - Método Newton – Euler
Si conocemos la ubicación del centro de masas y el tensor de inercia del vinculo, entonces su
distribución de masa esta completamente caracterizada. Para mover los vínculos debemos
acelerarlos y desacelerarlos. Las fuerzas requeridas para dichos movimientos son una función
de la aceleración deseada y de la distribución de la masa de los vínculos. La ecuación de Newton,
junto a su análoga de rotación, la ecuación de Euler describe la manera en que se relacionan las
fuerzas, inercias y aceleraciones. (Robótica, John J. Craig, 3era Edición, 2006, p.171)
Figura 2.18 – Una fuerza F que actúa en el centro de masa
de un cuerpo hace que este se acelere.
Si consideramos un cuerpo rígido de masa total 𝑚 cuyo centro de masa tiene una aceleración
𝑣´0 . De acuerdo con la ecuación de Newton, la fuerza que actúa en el centro de masa viene dada
por:
𝐹 = 𝑚 ∗ 𝑣´0
Por otra parte, si un cuerpo rígido rota con velocidad angular 𝜔 y aceleración angular 𝜔´, el
momento angular que actúa en el cuerpo viene dado por la ecuación de Euler:
𝑁 = 𝐼0 ∗ 𝜔´ + 𝜔 × 𝐼0 ∗ 𝜔
Siendo 𝐼0 el tensor de inercias del cuerpo en un sistema cuyo origen esta en el centro de masas.
Se trata ahora de aplicar estas ecuaciones para calcular los pares que hay que aplicar a las
articulaciones de un robot para que la posición 𝜃, velocidad 𝜔 = 𝜃´ y aceleración 𝜔´ = 𝜃´´ de las
articulaciones sean las deseadas.
21
El problema puede resolverse de forma iterativa realizando, en primer lugar, iteraciones hacia
fuera, desde la base hasta la última articulación con el objetico de calcular velocidades y
aceleraciones, angulares y lineales y, a continuación, se calculan las fuerzas y pares actuando
en cada articulación.
Luego se procede a realizar las iteraciones hacia dentro, es decir desde la última articulación a
la base. Aplicando las ecuaciones de Newton-Euler para determinar la fuerza y el par que actúan
en el centro de masa de cada eslabón. (Robótica Manipuladores y robots móviles - Aníbal Ollero Baturone,
2001, p.122)
Ecuaciones de Newton-Euler para articulaciones Rotacionales.
2.3.6 - Dinámica Inversa
La dinámica inversa corresponde al análisis en el cual se determina la evolución temporal de
las coordenadas en función de los torques o fuerzas.
𝑓(𝑞̈ ! , 𝑞̇ ! , 𝑞! ) = 𝐹𝑢𝑒𝑟𝑧𝑎𝑠 𝐺𝑒𝑛𝑒𝑟𝑎𝑙𝑖𝑧𝑎𝑑𝑎𝑠 (𝜏)
𝑖 = 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒 𝑎 𝑙𝑎 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝐺𝐷𝐿 𝑑𝑒𝑙 𝑚𝑎𝑛𝑖𝑝𝑢𝑙𝑎𝑑𝑜𝑟
Figura 2.19 – Dinámica Inversa
Para determinar las posiciones deseadas, se utiliza el modelo dinámico obtenido del análisis de
Newton-Euler despejando así las posiciones.
𝝉𝒊 = 𝑴(𝑞) ∗ 𝒒̈ 𝒊 + 𝑪(𝑞, 𝑞̇ ) + 𝑮(𝑞) + 𝑭(𝑞̇ )
𝒒̈ 𝒊 = 𝑴(𝑞 )M𝟏 ∗ [𝝉𝒊 − (𝑪(𝑞, 𝑞̇ ) + 𝑮(𝑞 ) + 𝑭(𝑞̇ ))]
22
2.3.7 - Trayectoria del Manipulador
La trayectoria del manipulador es una sucesión de posiciones que permitirán llevarlo desde un
estado inicial a uno final.
La configuración que adquiere una determinada trayectoria queda definida por la distribución de
los obstáculos a lo largo de todo el espacio de trabajo, y por supuesto, por la geometría del robot
y sus capacidades de movimiento. De esta manera, la topología del ambiente de trabajo
restringirá el espacio libre de obstáculos en el cual se pueden expresar las posibles trayectorias
para alcanzar el estado final deseado.
Existen dos formas básicas para especificar el movimiento:
1.- Mediante trayectorias articulares, suministrando puntos consecutivos e ignorando la
trayectoria espacial que describe el robot entre cada dos puntos.
2.- Mediante trayectoria cartesiana, especificando el camino que debe unir los puntos mediante
una determinada trayectoria, tal como una o varias líneas (secciones o tramos) rectos que debe
describir el manipulador en el espacio de trabajo.
En este proyecto se utilizará la trayectoria del tipo cartesiana por lo cual se pasa a detallar a
continuación.
Figura 2.20 – En una trayectoria un manipulador se mueve desde su poción inicial hasta una posición
final.
2.3.7.1 - Trayectoria cartesiana
La generación de una trayectoria cartesiana busca crea una ruta planificada del movimiento del
manipulador desde su posición inicial hasta su posición final. Esta ruta consta de una o varias
“secciones o “tramas” las cuales van describiendo cual será el movimiento a seguir por el
manipulador.
La generación de estas secciones se realiza mediante el cálculo de las posiciones cartesianas
que deben adoptar y con un tiempo 𝑡 definido. Para el cálculo de estas se recurre a la ecuación
de la recta.
𝑥 − 𝑥! =
"1 #"2
𝑥 = 𝑥! +
"1 #"2
$1 #$2
$1 #$2
∗ (𝑡 − 𝑡! )
y − 𝑦! =
∗ (𝑡 − 𝑡! )
y = 𝑦! +
%1 #%2
$1 #$2
%1 #%2
$1 #$2
∗ (𝑡 − 𝑡! )
∗ (𝑡 − 𝑡! )
Mediante la cual es posible ir generando las ecuaciones características que describirán las
coordenadas cartesianas que tendrá la sección a seguir por el manipulador en cierto tiempo.
Figura 2.21 – Ejemplo de una trayectoria Cartesiana diseñada.
23
2.4 - Control de Manipuladores Robóticos
El estudio del control de manipuladores se centra en el control de su posición y sus movimientos.
La manera mas sencilla de especificar el movimiento de un robot manipulador es mediante la
definición de una trayectoria a la cual este debe seguir. Esta metodología consiste en determinar
una serie de puntos o trayectoria en el espacio de trabajo del manipulador por donde se desea
que el extremo final del mismo pase, con el fin de satisfacer cierta aplicación. El problema del
control consiste, en resumen, en hacer pasar el extremo del manipulador por dicha trayectoria.
(Control de Movimiento de Robots Manipuladores – R. Kelly, V. Santibáñez, 2003, p.16)
Figura 2.22 – Trayectoria a seguir por un manipulador.
El control de cualquier sistema, proceso o elemento dinámico va a depender por otra parte de la
naturaleza física matemática de este, es así como podemos encontrar sistemas a controlarse
que sean de una naturaleza lineal como de una no-lineal.
En el caso estudio del manipulador robótico se trata de un sistema dinámico de naturaleza
altamente no lineal, debido a las componentes físicas que rigen el funcionamiento de este, el
manipulador robótico pose componentes de posición 𝜃, velocidad 𝜃̇ y aceleración 𝜃̈, y es debido
a esto que lo convierte en un sistema no lineal.
Cuando vamos a controlar también es fundamental el controlador a utilizar, ya sea por su
naturaleza lineal o no-lineal, por el tipo de sistema a controlar en cuanto a sus entradas y salidas,
como también de la estabilidad en su respuesta, es fundamental el estudio de las múltiples
opciones de controladores que se conocen.
Figura 2.23 – Diagrama sistema de control Manipuladores Robóticos
2.4.1 - Control Lineal
En sentido estricto, el uso de técnicas de control lineal es válido solamente cuando el sistema
que se esta estudiando puede modelarse matemáticamente mediante ecuaciones diferenciales
lineales. Para el caso del control de manipuladores, dichos métodos lineales deben verse como
métodos aproximados ya que, como se mencionó anteriormente la dinámica de un manipulador
robótico se represente mas adecuadamente mediante una ecuación diferencial no-lineal. Sin
embargo, puede verse a menudo que es razonable hacer dichas aproximaciones, y también es
el caso de que estos métodos lineales son los que se utilizan con mas frecuencia en la práctica
24
industrial actual. Además, el estudio del método lineal servirá como base para el tratamiento mas
complejo de los sistemas no-lineales que se verán mas adelante en este proyecto.
(Robótica, John J. Craig, 3era Edición, 2006, p.262)
Figura 2.24 – Controladores para sistemas lineales
2.4.1.1 - Control PID
Con el propósito de satisfacer el objetivo de control de posición en forma global, se pueden
emplear controladores como P (proporcional) como PD (proporcional-derivativo) con
compensación, pero resulta una mejor alternativa a estos controladores la introducción de un
componente Integral al PD para intentar llevar a cero el error de posición. De este razonamiento
surge una justificación para la aplicación del controlador PID (Proporcional-Integral-Derivativo)
en el control de manipuladores.
La ecuación característica de este controlador se expresa como:
…
𝑃𝐼𝐷 = 𝐾ƒ 𝑞D + 𝐾„ 𝑞Ḋ + 𝐾L E 𝑞D(𝜃 ) 𝑑𝜃
U
Donde:
𝑒𝑟𝑟𝑜𝑟 𝑑𝑒 𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛
𝑞† = 𝑞3454636 − 𝑞7894(!36
𝑒𝑟𝑟𝑜𝑟 𝑑𝑒 𝑣𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑
𝑞†̇ = 𝑞̇ 3454636 − 𝑞̇ 7894(!36
𝐾! , 𝐾" , 𝐾# ∈ ℝ, llamadas respectivamente las ganancias proporcional, derivativa e integral,
son valores definidos positivos convenientemente elegidos.
Figura 2.25 – Diagrama en Bloques Controlados PID
25
2.4.2 - Control No-Lineal
En implementaciones de controladores lineales, como los que se mencionaron anteriormente se
produce un amortiguamiento no uniforme a lo largo del espacio de trabajo y otros efectos
indeseables. Es por esto por lo que se hace imprescindible el uso de técnicas de control mas
avanzadas como son los controladores no-lineales.
Mediante los controladores no-lineales es posible modelar el manipulador mediante 𝑛 ecuaciones
diferenciales independientes de segundo orden y basar el controlador en ese modelo.
Durante la década de los ochenta, se lograron avances significativos en la comprensión de los
sistemas de control dinámicos no-lineales. Estos avances han hecho posible la solución definitiva
de problemas que ocuparon la atención de los investigadores durante muchos años.
Como los sistemas físicos no-lineales son de gran complejidad, las técnicas de control
convencionales son inoperantes cuando se requiere que ellos estén en un punto de operación o
de posición de equilibrio. Ante esta condición se requiere la implementación de técnicas de
control para sistemas no-lineales, las cuales permitan manejar el sistema y adaptarse a los
cambios en los puntos de equilibrio de la planta. (Control de Sistemas No-Lineales – Sira-Ramírez, Márquez,
Rivas-Echeverría, Llanes, 2004)
Figura 2.26 – Controladores para sistemas No-Lineales
2.4.2.1 - Control Seno Coseno Hiperbólico
Funciones Hiperbólicas
En forma analítica, estas funciones pueden ser expresadas de forma análoga a las relaciones de
Euler para las funciones circulares, estas son:
•
Función seno Hiperbólico senh (𝑥)
La función senh (𝑥) crece muy rápidamente hacia el infinito, tanto en el eje positivo como en el
negativo (hacia infinito negativo).
𝑠𝑒𝑛ℎ =
𝑒 # − 𝑒 )#
2
Figura 2.27 – Función seno hiperbólico
26
•
Función coseno Hiperbólico cosh (𝑥)
La función cosh (𝑥) crece muy rápidamente, tanto en el eje positivo como en el negativo
𝑐𝑜𝑠ℎ =
𝑒 # + 𝑒 )#
2
Figura 2.28 – Función coseno hiperbólico
Controlador Seno Coseno Hiperbólico
El controlador seno coseno hiperbólico esta formado por una función proporcional compuesta de
senos y cosenos hiperbólicos, una función derivativa basada en el seno hiperbólico y una
compensación de gravedad.
Mediante este controlador se propone la hipótesis, que basados en este algoritmo de control de
posición y mediante la correcta selección de los valores de ganancias del controlador este llevará
al robot de su posición inicial deseada, esto es, el error de posición articular del sistema tenderá
asintóticamente a cero conforme el tiempo evoluciona al infinito.
La ecuación característica de este controlador se expresa como:
𝑆𝑒𝑛ℎ𝐶𝑜𝑠ℎ = 𝐾ƒ 𝑠𝑒𝑛ℎ(𝑞D)𝑐𝑜𝑠ℎ(𝑞D) − 𝐾„ 𝑠𝑒𝑛ℎ(𝑞̇ ) + 𝑔(𝑞)
Donde:
𝑒𝑟𝑟𝑜𝑟 𝑑𝑒 𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛
𝑞† = 𝑞3404636 − 𝑞7894(!36
𝐾! , 𝐾" , ∈ ℝ, llamadas respectivamente las ganancias proporcional, derivativa e integral, son
valores definidos positivos convenientemente elegidos.
Figura 2.29 – Diagrama en Bloques Controlados Seno coseno hiperbólico.
27
2.4.2.2 - Control Lógica Difusa
Lógica Difusa
La lógica difusa fue creada para emular la lógica humana y tomar decisiones acertadas a pesar
de la información. Es una herramienta flexible que se basa en reglas lingüísticas dictadas por
expertos. Por ejemplo, la velocidad de un automóvil es una variable que puede tomar distintos
valores lingüísticos, como “alta”, “media” o “baja”. Estas variables lingüísticas están regidas por
reglas que dictan la salida del sistema.
En otras palabras, la lógica difusa es un conjunto de principios matemáticos basados en grados
de membresía o pertenencia, cuya función es modelar información. Este modelado se hace con
base en reglas lingüísticas que aproximan una función mediante la relación de entradas y salidas
del sistema (composición). Esta lógica presenta rangos de membresías dentro de intervalos entre
0 y 1, a diferencia de la lógica convencional, en la que el rango se limita a dos valores: cero o el
uno. (Inteligencia Artificial – Pedro Ponce Cruz, 2010, p.33)
La estructura básica de un control difuso consta de 3 partes:
1.- Reglas: Dictan la acción de control que se va a tomar. Estas se derivan de un experto. Dichas
reglas tienen la estructura de relaciones. La lógica difusa se basa en relaciones, las cuales se
determinan por medio de cálculo de reglas “IF-THEN”.
2.- Fusificación: es el nexo entre las entradas reales y difusas. Todas las entradas necesitan ser
mapeadas en forma en que las reglas puedan utilizarlas.
3.- Defusificación: Toma un valor difuso de las reglas y genera una salida real.
Figura 2.30 – Diagrama control lógica difusa
Funciones Membresía
Para la representación de los grados de pertenencia de cada uno de los elementos que
conforman el control difuso, lo mas natural es extraer los datos de los fenómenos que se va a
representar y con ellos definir la forma de la función de membresía.
Existen funciones de membresía convencionales y no convencionales que permiten realizar un
mapeo de un universo nítido a un universo difuso (grado de membresía entre 0 y 1). Entre las
funciones de membresía convencionales se tienen las siguientes.
•
Función Singleton
𝜇: (𝑥' ) = ‹
1 𝑥 = 𝑥'
0 𝑥 ≠ 𝑥'
Figura 2.31 – Representación matemática y gráfica función singleton.
28
•
Función Triangular
𝑓(𝑥; 𝑎; 𝑏; 𝑐) =
0 𝑥≤𝑎
⎧#)6
⎪8)6 𝑎 ≤ 𝑥 ≤ 𝑏
0)#
⎨ 0)8 𝑏 ≤ 𝑥 ≤ 𝑐
⎪
⎩ 0 𝑥≥𝑐
Figura 2.32 – Representación matemática y gráfica función triangular.
•
Función Trapezoidal
⎧
⎪
𝑓(𝑥; 𝑎; 𝑏; 𝑐)
=
𝑎≤𝑏≤𝑐≤𝑑 ⎨
⎪
⎩
0 𝑥≤𝑎
𝑎≤𝑥≤𝑏
8)6
#)6
1 𝑏≤𝑥≤𝑐
𝑐≤𝑥≤𝑑
3)0
3)#
0 𝑥≥𝑑
Figura 2.33 – Representación matemática y gráfica función trapezoidal.
•
Función Gaussiana
% '(') &
$
*
𝑓(𝑥; 𝜎; 𝑥! ) = 𝑒 "&#
Figura 2.34 – Representación matemática y gráfica función gaussiana.
•
Función Campana Generalizada
𝑓(𝑥; 𝑎; 𝑏; 𝑥! ) =
%
'(') &,
'
%&'
+
Figura 2.35 – Representación matemática y gráfica función campana generalizada.
29
•
Función Sigmoidal
!
𝑓(𝑥; 𝑎; 𝑥& ) = !'( ;<(>;>?)
Figura 2.36 – Representación matemática y gráfica función sigmoidal
Controladores Difusos
Un controlador Difuso está compuesto de cuatro partes principales: Interfaz de fusificación, base
de conocimiento, lógica de decisiones e Interfaz de defusificación.
Figura 2.37 – Estructura de un controlador difuso.
En la etapa de Interfaz de fusificación se miden los valores de las variables de entrada para
realizar un mapeo a esta, que transfiere el rango de valores de las variables a un universo
discurso difuso. La fusificación convierte los datos de entrada en valores lingüísticos que son las
etiquetas de las funciones de pertenencia o conjuntos difusos. Una variable lingüística en general
se asocia a un conjunto de términos, definido en el mismo universo discurso. Para encontrar
cuantos términos son necesarios en un conjunto se emplean particiones difusas. El número de
conjuntos difusos determina la complejidad del controlador.
Figura 2.38 – Asignación de valores de entradas a valores lingüísticos, “N”, “Z”, “P”.
La base de Conocimiento en un controlador difuso contiene toda la información de la aplicación
que se va a controlar, así como las metas del controlador. La base de datos proporciona las
definiciones para el establecimiento de reglas y la manipulación de los datos difusos.
La lógica de Decisiones dentro de un controlador difuso es el núcleo de este, a partir de la
misma se simula la lógica que utilizan las personas para tomar decisiones (ej. IF-THEM), con
base en conceptos difusos y en la inferencia de acciones de control. El resultado de disparar
estas reglas con valores de entradas físicos serán conjuntos recortados u escalados.
30
Figura 2.39 – Creación de conjuntos recortados (a) o escalados (b)
La etapa de Interfaz de defusificación se encarga del mapeo a escala que convierte el rango
de valores de las variables de salida a sus universos de discurso correspondientes. La
defusificación es la herramienta para obtener la acción de control nítida a partir de una acción de
control difusa.
Algunas técnicas utilizadas en esta etapa son:
•
•
•
•
Método del centroide: Se utiliza para obtener el valor real de la salida. Su metodología
es sencilla, corta la función de membresía al grado de la membresía respectiva, es decir,
segmenta las funciones de membresía, generando en cada función dos áreas. El área
inferior que se forma es la que se toma para hacer el cálculo. Se sobreponen todas estas
áreas y se saca el centroide de la superposición, el cual nos dice la salida real del
sistema.
Método de centro máximo: Primero se calcula el valor mas común de cada etiqueta, esto
se hace con el máximo de la respectiva función de membresía. Ya con estos valores
típicos se les asignan un peso o valor, el cual es proporcional al grado de membresía, y
la salida se determina haciendo un balance de los distintos valores.
Método de izquierdo máximo: El valor de salida real se obtiene de la misma manera que
el método máximo, pero en vez de usar el valor mas común de la mitad del máximo, se
utiliza el máximo izquierdo.
Método de derecha máximo: el valor de salida real se obtiene de la misma manera que
el método máximo, pero en vez de usar el valor mas común de la mitad del máximo, se
utiliza el máximo derecho.
Figura 2.40 – Defusificación método del centroide
(Inteligencia Artificial – Pedro Ponce Cruz, 2010, p.71)
Diseño de controladores con base en Mamdani
Mamdani propuso el primer controlador difuso en los años 70´y comprende el siguiente
procedimiento.
1.- En base al error se seleccionan las funciones de pertenencia que realizaran la fusificación.
2.- Se establecen las reglas a partir de las proposiciones condicionales.
3.- Se seleccionan las funciones de membresía para la defusificación y el método que se
utilizara para encontrar el valor de salida, normalmente corresponde al método del centroide.
31
2.4.2.3 - Control Neurocompensado
Redes neuronales artificiales
Una red neuronal artificial es una aproximación no-lineal a la forma en que funciona el cerebro,
tratando de reproducir el proceso de solución de problemas de éste. Así como los humanos
aplican el conocimiento ganado con la experiencia a nuevos problemas o situaciones, una red
neuronal toma como ejemplos problemas resueltos para construir un sistema que toma
decisiones y realiza clasificaciones.
Fundamentos biológicos de las redes neurales naturales.
La red neuronal está basada en el funcionamiento biológico de las neuronas en el cerebro, la
neurona es una célula especializada en procesar información. Está compuesta por el cuerpo de
la célula (soma) y dos tipos de ramificaciones: el axón y las dendritas. La neurona recibe las
señales (impulsos) de otras neuronas a través de las dendritas y trasmite señales generadas por
el cuerpo celular a través del axón.
Las señales que se utilizan son del tipo: eléctrica y química. La señal generada por la neurona y
transportada a lo largo del axón en un impulso eléctrico, mientras que la señal que se transmite
entre los terminales axónicos de una neurona y las dendritas de la otra es de origen químico.
Figura 2.41 – Estructura neurona biológica.
Para establecer una similitud directa entre la actividad sináptica y la analogía con las redes
neuronales artificiales podemos considerar que las señales que llegan a la sinapsis son las
entradas a la neurona, estas son ponderadas (atenuadas o simplificadas) a través de un
parámetro denominado peso, asociado a la sinapsis correspondiente. Estas señales de entrada
pueden excitar a la neurona (sinapsis con peso positivo) o inhibirla (peso negativo).
El efecto es la suma de las entradas ponderadas. Si la suma es igual o mayor que el umbral de
la neurona, entonces la neurona se activa (da salida). Esta es una situación de todo o nada, cada
neurona se activa o no se activa. La facilidad de transmisión de señales se altera mediante la
actividad del sistema nervioso. Esta habilidad de ajustar señales es un mecanismo de
aprendizaje.
Figura 2.42 – Estructura neurona artificial.
(Inteligencia Artificial – Pedro Ponce Cruz, 2010, p,190)
32
Funciones de Activación Neuronas
Es la regla que logra establecer el efecto de la entrada total en la activación de la unidad.
•
Función escalón
Figura 2.43 – Representación
matemática y gráfica función escalón.
•
Función Lineal y mixta
Figura 2.44 –
Representación
matemática y gráfica
función lineal y mixta.
•
Función tangente hiperbólica
Figura 2.45 – Representación matemática y
gráfica función tangente hiperbólica.
•
Función Sigmoidal
Figura 2.46 – Representación
matemática y gráfica función
sigmoidal.
33
•
Función de Gauss
Figura 2.47 – Representación
matemática y gráfica función de
gauss.
(Inteligencia Artificial – Pedro Ponce Cruz, 2010, p,199)
Entrenamiento de las redes neuronales Multicapas
Se denomina entrenamiento al proceso de configuración de
una red neuronal para que las entradas produzcan las salidas
deseadas a través del fortalecimiento de las conexiones. Una
forma de llevar esto a cabo es mediante el establecimiento de
pesos conocidos con anterioridad y otro método implica el uso
de patrones de aprendizaje que cambian los valores de los
pesos hasta encontrar los adecuados.
Figura 2.48 – RNA Multicapa
El aprendizaje puede clasificarse en:
Figura 2.49 – Clasificación aprendizaje en RNA
Mediante el aprendizaje supervisado se introducen entradas que corresponden a determinadas
salidas, es decir, se enseña a la red dando los resultados esperados. El aprendizaje no
supervisado se enfoca en encontrar características estadísticas entre agrupamientos de patrones
de entradas.
Un tipo de entrenamiento supervisado es el conocido como redes de retro propagación
(backpropagation), dentro de mucho otros tipos de entrenamiento este es el de interés en este
proyecto y se pasa a detallar a continuación.
34
Redes de Retro propagación (Backpropagation)
La retro propagación es un tipo de entrenamiento supervisado que se emplea para redes
multicapas donde se ajusta el valor de los pesos en función del error generado. Esta técnica es
muy empleada ya que permite tener un método de optimización que se encuentra al definir el
gradiente del error y minimizarlo con respecto a los parámetros de la red neuronal.
Las Redes Neuronales como Compensación de Controladores (Neurocompensación)
En circunstancias en que ciertos controladores aplicados a sistemas dinámicos altamente no
lineales como el caso de los manipuladores robóticos, no logran satisfacer al máximo las
funciones de control como la minimización del error, es necesario el uso de compensadores los
cuales ayudan a anular o neutralizar en mayor o mejor manera el error u otro efecto no deseado.
Figura 2.43 – Diagrama en bloques Controlador PID con Neurocompensación
2.4.2.4 - Control Par Calculado.
Esta técnica de control se basa en las ecuaciones del movimiento, ya sean de Euler-Lagrange o
de Newton-Euler, las cuales describen el comportamiento dinámico de un manipulador robótico.
La técnica del Par Calculado emplea realimentación no-lineal para desacoplar las interacciones
entre los eslabones del manipulador, y utiliza un regulador proporcional mas derivativo para
controlar los actuadores, por lo tanto, se puede decir que realiza un control del tipo anticipativo.
La ecuación característica de este controlador se expresa como:
P )𝑲𝒑 𝒒
P + 𝑴(𝒒𝒅 − 𝒒
P)𝑲𝒗 𝒒
Ṗ + 𝑴(𝒒)𝒒̈ 𝒅 + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝒈(𝒒)
𝝉 = 𝑴(𝒒𝒅 − 𝒒
35
Figura 2.51 – Diagrama en bloques Controlador Par Calculado
(Control de Movimiento de Robots Manipuladores – R. Kelly, V. Santibáñez, 2003, p.257)
La técnica de control par calculado utiliza los elementos propios del modelo dinámico del
manipulador (matriz de inercia, Coriolis y gravedad) matrices que entregan los valores de torque
del sistema, estos valores se utilizan como realimentación al sistema, realizando una especie de
sobre cálculo del par.
2.5 - Modelamiento Matemático del Servomotor
Los Actuadores de robots manipuladores pueden ser eléctricos, hidráulicos o neumáticos. Entre
los actuadores eléctricos aplicados en robótica se encuentras los motores de corriente continua,
motores de corriente alterna y los servomotores.
(Control de Movimiento de Robots Manipuladores – R. Kelly, V. Santibáñez, 2003, p.275)
Figura 2.52 – Servomotor
Un modelo matemático idealizado que caracteriza el comportamiento del servomotor se describe
típicamente por la siguiente ecuación.
𝜏) =
1 𝑘*
1
𝑘* 𝑘/
1
𝑘*
1
1 𝐴𝑘+ 𝑘, 𝑣- − 𝐽. 𝑞̈ − 9
+ 𝐵. ; 𝑞̇ −
𝐴𝑘+ 𝑝𝑞 − 𝑓𝑒𝑐 9 𝑞̇ ;@
𝑛 𝑅*
𝑛
𝑅*
𝑛
𝑅*
𝑛
36
𝑛
Relación de engranajes
𝑘-
Constante de par del motor
𝑅-
Resistencia de armadura
[𝑣𝑒𝑐𝑒𝑠]
𝑚
I𝑁 ∙ M
𝐴
[Ω]
𝑘.
Sensibilidad del comparador
[𝑣𝑒𝑐𝑒𝑠]
𝑘/
Ganancia total de la conversión PWM
[𝑣𝑒𝑐𝑒𝑠]
𝑣$
Tensión de entrada al servomotor
𝐴
Ganancia del amplificador de corriente
𝐽0
Momento de inercia del motor
𝑘2
Constante de fuerza electromotriz inversa
𝐵0
Fricción viscosa del motor
[𝑉]
[𝑣𝑒𝑐𝑒𝑠]
[𝑘𝑔 ∙ 𝑚1 ]
𝑠
I𝑉 ∙
M
𝑟𝑎𝑑
𝑠
I𝑁 ∙ 𝑚 ∙
M
𝑟𝑎𝑑
[𝑣𝑒𝑐𝑒𝑠]
𝑝
Ganancia del potenciómetro de la función tanh
𝑘
Ganancia de la pendiente de la función tanh
[𝑣𝑒𝑐𝑒𝑠]
Frecuencia
[𝑁 ∙ 𝑚]
𝑓𝑒𝑐
2.6 - Herramientas de Cálculo y Simulación
Las Herramientas (Software) a utilizar en este proyecto para la realización de cálculos y
simulaciones se detallas a continuación:
•
MATLAB
Matlab (Abreviatura de Matrix Laboratory, Laboratorio de
matrices) es un sistema de computo numérico que ofrece un
entorno de desarrollo integrado (IDE) con un lenguaje de
programación propio (lenguaje M). Entre sus prestaciones
básicas se hallan la manipulación de matrices, la
representación de datos y funciones, la implementación de
algoritmos, la creación de interfaces de usuario (GUI) y la
comunicación con programas en otros lenguajes y con otros
dispositivos hardware.
•
Simulink
Simulink es un entorno de programación visual que funciona sobre el entorno de programación
de Matlab. Utiliza un sistema de programación en bloques destinados a distintos procesos de
análisis de estructuras matemáticas, señales, fenómenos físicos, etc. Viene con herramientas de
simulación de modelos o sistemas, con cierto grado de abstracción de los fenómenos físicos
involucrados en los mismo.
•
CoppeliaSim
El simulador de robots CoppeliaSim (de los creadores de VREP), es un entorno de desarrollo integrado que se basa en
una estructura de control distribuido. Cada objeto o modelo
se puede controlar individualmente a través de un script
integrado, un plugin, un nodo ROS, un cliente API remoto o
una solución personalizada.
37
Capítulo 3 – Desarrollo del Proyecto
3.1 - Controladores No-Lineales aplicados a un manipulador
Robótico
El desarrollo del proyecto consiste en la aplicación de 4 tipo de controladores no-lineales
aplicados a un manipulador robótico del tipo SCARA de 3GDL RRR para evaluar posteriormente
su funcionamiento y resultados mediante indicadores de desempeño.
El desarrollo comienza con el diseño, cálculo y simulación del manipulador robótico en su
totalidad, tanto la cinemática como la dinámica, luego todo el desarrollo de la trayectoria y el
modelamiento, posterior la aplicación de cada uno de los controladores para la obtención de los
resultados y finalmente el cálculo de los indicadores de desempeño (profundizado en el próximo
capítulo del presente informe).
3.1.1 - Diseño del manipulador.
Manipulador del tipo SCARA de 3 grados de libertad de articulaciones rotacionales las 3.
Figura 3.1 – Manipulador robótico a utilizar SCARA 3 GDL RRR.
3.1.2 - Parámetros de Manipulador
Los parámetros físicos a utilizar para todo el desarrollo del proyecto fueron obtenidos de ejemplos
comprobados y obtenidos en implementaciones reales. Estos son:
Articulación 1
Masa eslabón 1
𝑚1
Largo eslabón 1
𝑙1
Distancia al centro de masa eslabón 1
𝐿𝑐𝑑𝑚1
𝐼1𝑧𝑧
Momento de inercia eslabón 1
Articulación 2
Masa eslabón 2
𝑚2
Largo eslabón 2
𝑙2
Distancia al centro de masa eslabón 2
𝐿𝑐𝑑𝑚2
Momento de inercia eslabón 2
𝐼2𝑧𝑧
Articulación 3
Masa eslabón 3
𝑚3
Largo eslabón 3
𝑙3
Distancia al centro de masa eslabón 3
𝐿𝑐𝑑𝑚3
Momento de inercia eslabón 3
𝐼3𝑧𝑧
2.0458
0.2
0.0229
0.0116
2.0458
0.2
0.0229
0.0116
6.5225
0.2
0.0983
0.1213
38
3.1.3 - Simulación con CoppeliaSim
Diseño
Figura 3.2 – Manipulador robótico diseñado en CoppeliaSim
El diseño del manipulador en CoppeliaSim se realizó utilizando la estructura que trae el software
el cual es ir construyendo el modelo en estructura de árbol. Luego de diseñar cada parte del
manipulador (base, Cilindros, cuboides y articulaciones) estas se organizan una siguiente de la
otra en forma de escalera, de esta manera cada elemento que compone el manipulador queda
enlazado de su anterior y posterior elemento. A cada uno de los elementos se le programa su
funcionamiento dinámico en las propiedades de cada uno. El manipulador diseñado contiene un
feltpen en el extremo añadido al elemento dummy el cual no es parte del manipulador solo fue
añadido como elemento visual para que dibuje en el suelo la trayectoria generada.
Programación
Sistema Operativo
Matlab
Coppelia Sim
Proyecto
Figura 3.3 – Transferencia de archivos necesarios
La programación del CoppeliaSim comienza con realizar el enlace entre éste y el software Matlab
quien enviará los datos del modelo realizado en Simulink. Para esto se realiza una transferencia
de archivos que están en las carpetas del sistema operativo, en los archivos de instalación de
Matlab y en los archivos de CoppeliaSim. Estos archivos se copian en la carpeta del proyecto a
utilizar en donde se encuentran los archivos .m de Matlab y los archivos .slx del proyecto.
El script generado en Matlab para realizar la comunicación entre ambos softwares parte por una
etapa de conexión.
39
Figura 3.4 – Script conexión, elementos del robot, avisos conexión.
La etapa de conexión parte con llamar al elemento remoteApi, archivo que genera la conexión
entre ambos softwares realizando la lectura entre ambos, luego se asignan los puertos de
conexión de ambos, el puerto de hots local del pc el cual utilizara CoppeliaSim (127.0.0.1) y el
puerto de conexión establecido para el Matlab (19999).
Luego el comando “vrep.simxGetObjectHandle” de CoppeliaSim asigna valores a los elementos
que realizaran movimiento en CoppeliaSim en este caso las 3 articulaciones.
Hay una etapa que genera mensajes en pantalla de conexión establecida tanto en Matlab como
en CoppeliaSim.
Figura 3.5 – Script movimiento de prueba
El núcleo del script está en realizar el movimiento de prueba, en esta parte del código se creo un
ciclo for. La simulación de Simulink genera 3601 valores de posición en los 36 segundos, los
cuales son extraídos de éste mediante un bloque to workspace y enviados a CoppeliaSim. El
ciclo for asigna cada uno de estos valores a las variables creadas (q1, q2, q3) las cuales al
generar el play en CoppeliaSim generan el movimiento del manipulador con los 3601 valores.
Figura 3.6 – Script desconexión
Finalmente se realiza la etapa de desconexión con un mensaje en pantalla que indica este
estado.
40
3.2 - Cinemática y Dinámica
3.2.1 - Obtención de Matriz de Transformación Homogénea y Denavit &
Hartenberg
El primer paso en la obtención de la matriz de transformación homogénea es llevar el diseño del
manipulador a una representación gráfica que permita asignar los sistemas de referencia a las
articulaciones.
Figura 3.7 – Representación gráfica manipulador 3GDL RRR – (a) Diagrama técnico (b) Diagrama
esquemático
Una vez realizado se procede con la matriz de DH, mediante el modelo sistemático propuesto
por Denavit & Hartenberg que permite obtener los parámetros necesarios para la tabla.
1.- Rotar alrededor del eje 𝑧!)$ un ángulo 𝜃!
2.- Traslación a lo largo del 𝑧!)$ una distancia 𝑑!
3.- Traslación a lo largo de 𝑥! una distancia 𝑎!
4.- Rotación alrededor del eje 𝑥! un ángulo 𝛼!
Figura 3.8 – Tabla de parámetros DH obtenidos para el manipulador 3GDL RRR propuesto.
Ya con los parámetros de DH necesarios, se procede al cálculo de la matriz de transformación
homogénea. Para esto se realizó un script en Matlab, en este se ingresan los valores de DH y
mediante un ciclo for se asigna por cada ciclo a los parámetros propios de la matriz los valores
correspondientes a cada articulación. Entregando como resultado las matrices de rotación
individuales por cada articulación y finalmente la matriz de transformación homogénea completa
del sistema.
41
Figura 3.9 – Scripts obtención matriz de TH mediante parámetros de DH.
La matriz de transformación homogénea entre articulaciones y general obtenidas son:
𝐴$'
𝐴$'
𝐴$'
cos(𝑞1 + 𝑞2 + 𝑞3)
𝑇𝐻 = ? sin (𝑞1 + 𝑞2 + 𝑞3)
0
0
= p
= p
= p
cos(𝑞1)
sin (𝑞1)
0
0
cos(𝑞2)
sin (𝑞2)
0
0
cos(𝑞3)
sin (𝑞3)
0
0
−sin (𝑞1 + 𝑞2 + 𝑞3)
cos (𝑞1 + 𝑞2 + 𝑞3)
0
0
−sin (𝑞1)
cos (𝑞1)
0
0
−sin (𝑞2)
cos (𝑞2)
0
0
−sin (𝑞3)
cos (𝑞3)
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
𝑙1𝑐𝑜𝑠(𝑞1)
𝑙1𝑠𝑖𝑛(𝑞1)
t
𝑙0
1
𝑙2𝑐𝑜𝑠(𝑞2)
𝑙2𝑠𝑖𝑛(𝑞2)
t
0
1
𝑙3𝑐𝑜𝑠(𝑞3)
𝑙3𝑠𝑖𝑛(𝑞3)
t
0
1
𝑙2 cos(𝑞1 + 𝑞2) + 𝑙1𝑐𝑜𝑠(𝑞1) + 𝑙3cos (𝑞1 + 𝑞2 + 𝑞3)
𝑙2 sin(𝑞1 + 𝑞2) + 𝑙1𝑠𝑖𝑛(𝑞1) + 𝑙3sin (𝑞1 + 𝑞2 + 𝑞3) A
𝑙0
1
3.2.2 - Cinemática directa e inversa
Cinemática Directa
El desarrollo de la cinemática directa será útil para la parte final de la simulación, una vez
realizado los cálculos de la dinámica en la simulación, se obtendrán los parámetros de las
posiciones obtenidas 𝑞17 , 𝑞27 , 𝑞37 , mediante el bloque de función programado en Simulink estos
parámetros será convertidos en coordenadas cartesianas mediante las cuales por gráfica será
posible visualizar la trayectoria final realizada por el manipulador.
Dentro del bloque de función se hará uso del resultado obtenido de la matriz homogénea anterior
(vector de traslación columna 4, filas 1 y 2, correspondientes a la traslación en x e y) mediante
el cual se realizarán los cálculos de las posiciones cartesianas, previa declaración de los
parámetros reales del manipulador.
42
Figura 3.10 – Bloque de función Simulink y programación
de éste (cinemática directa).
Cinemática Inversa
Mediante la matriz de transformación homogénea obtenida y realizando el desacoplo cinemático
es posible encontrar las ecuaciones correspondientes al movimiento angular de las articulaciones
𝜃1, 𝜃2, 𝜃3.
El resultado de la operación de matrices es:
Para el cálculo del desacoplo cinemático lo importante es el resultado obtenido en el vector de
traslación:
43
Tal como se explicó en la teoría, en el caso de los manipuladores SCARA al tratarse de
articulaciones redundantes es posible realizar la siguiente condición.
Al realizar el siguiente despeje y aplicar la condición queda:
Luego al calcular las matrices:
44
Se obtiene la ecuación para la posición angular de la articulación 1 𝜃1, luego para 𝜃2, se realiza
el cálculo mediante la aplicación del teorema del coseno.
De esta forma mediante la aplicación del desacoplo cinemático se encuentras las ecuaciones
correspondientes a las posiciones angulares de las 3 articulaciones.
Ya que el tipo de trayectoria diseñada se trata de una trayectoria cartesiana, se debe utilizar la
cinemática inversa para realizar la conversión de las posiciones cartesianas diseñadas para la
trayectoria del manipulador, en posiciones angulares fundamentales para todo el resto de la
simulación, debido a que todo el trabajo de dinámica del manipular utiliza las posiciones
angulares. Esto se realiza programando en Simulink un bloque de función el cual gracias a las
ecuaciones obtenidas del desacoplo cinemático realiza esta conversión.
Figura 3.11 – Bloque de función Simulink y programación de éste (cinemática inversa).
45
3.2.3 - Dinámica mediante Newton-Euler
La dinámica mediante el método de Newton-Euler es posible calcularla ya que este se trata de
un método que realiza cálculos iterativos hacia fuera encontrando las velocidades articulares y
lineales desde la base del manipulador hasta la articulación 𝑛 y luego en un enfoque hacia dentro
se realiza el cálculo de las fuerzas y momentos de torsión de cada eslabón del manipulador.
Gracias a este enfoque estructurado se realiza un script en Matlab que repite el cálculo de este,
eslabón por eslabón.
Figura 3.12 – Script para el cálculo de torques mediante método de Newton-Euler. (ejemplo de una
articulación, las articulaciones 2 y 3 repiten el procedimiento)
De esta manera se encuentran los torques de cada una de las articulaciones de manipulador.
46
3.2.4 - Modelo Dinámico
El resultado obtenido mediante el método de Newton-Euler nos entrega el torque de cada una
de las articulaciones, estas ecuaciones obtenidas contienen todos los elementos asociados a las
posiciones 𝑞, las velocidades 𝑞̇ y la aceleración 𝑞̈ , que corresponden a los elementos que
componen las matrices de inercia, Coriolis y gravedad, propias del modelo dinámico. Es debido
a esto que fue necesario realizar la factorización de términos para poder despejar los factores
propios de estas matrices y poder representar el modelo dinámico de la forma:
𝜏 = [𝑀 (𝑞 ) ∗ 𝑞̈ ] + [𝐶 (𝑞, 𝑞̇ )] + [𝐺 (𝑞 )] + [𝐹 (𝑞̇ )]
Es importante resaltar que al tratarse de un manipulador del tipo SCARA RRR, ninguna de sus
articulaciones queda afecta a la gravedad, es por esto que la gravedad en este proyecto será
despreciada. Al igual que los datos de fricción, estos debido a que se realizará la simulación de
los sistemas y no se estudiará un posible caso de construcción de prototipo real del manipulador
también serán despreciados en este proyecto. El modelo dinámico para trabajar queda:
𝜏 = [𝑀(𝑞 ) ∗ 𝑞̈ ] + [𝐶 (𝑞, 𝑞̇ )]
Factorización de términos:
Figura 3.13 – Resultados al factorizar torque y obtener las matrices de inercia y Coriolis.
47
3.2.5 - Dinámica del Manipulador
La dinámica del manipular queda representada en Simulink mediante un bloque de función el
cual contiene la dinámica inversa del manipular. Ya obtenidas las matrices del modelo dinámico,
es posible realizar el despeje de la ecuación para encontrar lo que es la aceleración de cada
articulación. Como la salida del bloque de función es la aceleración de cada articulación, estas
pasan por un sistema integrador, el cual integra dos veces el valor de aceleración obteniendo así
los parámetros de velocidad y posición del manipulador. Dichos valores son normalizados y
enviados a puntos de salida ya que estos se utilizarán en distintos puntos de la simulación como
en la realimentación de estos mismo en el bloque de función de la dinámica.
Los valores de torque que ingresan al bloque corresponden a los provenientes del bloque que
modela matemáticamente un servomotor los cuales obtienen parámetros directos del
controlador.
Figura 3.14 – Bloque de función Simulink y programación de la dinámica inversa.
48
3.3 - Diseño de trayectoria
La trayectoria para utilizar en este proyecto será del tipo cartesiana y mediante el uso de la
ecuación de la recta es posible encontrar las ecuaciones características de cada posición
cartesiana en 𝑥, 𝑦 en casa segmento diseñado.
Figura 3.15 – Trayectoria cartesiana diseñada.
49
El tiempo de simulación considerado es de 36 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠 por ende el movimiento por segmento
será de 3 𝑠𝑒𝑔𝑢𝑛𝑑𝑜𝑠.
Con las ecuaciones obtenidas se realizó la programación en Simulink el cual mediante un bloque
de función calcula cada una de las posiciones cartesianas en 𝑥, 𝑦 en el tiempo.
Figura 3.16 – Bloque de función Simulink, programación y gráfica resultante de la trayectoria deseada.
3.4 - Modelamiento del Servomotor
El parámetro de torque que será entregado al modelo dinámico es el proveniente de los bloques
de función de servomotores. Dentro de estos se realizó la programación mediante bloques
Simulink de la ecuación caracteriza que describe el modelamiento matemático del servomotor.
Estos bloques reciben como información de entrada el valor de voltaje proveniente desde la etapa
de control y los valores de posición, velocidad y aceleración obtenidos.
50
Figura 3.17 – Bloque de función Simulink y programación Servomotores.
Finalmente, el modelo simulado completo queda:
Figura 3.18 – Modelo completo en Simulink del manipulador robótico de 3GDL RRR.
51
3.5 - Aplicación de etapas de Control
3.5.1 - Implementación Control Seno Coseno Hiperbólico
Mediante la aplicación de un controlador seno coseno hiperbólico se busca analizar el
comportamiento del manipulador al ser controlado por este. Se buscará observar tal como
fundamenta la teoría de este tipo de control que al uso de funciones hiperbólicas junto a las
acciones proporcionales y derivativas buscaran llevar el error de la posición articular a cero
conforme el tiempo evoluciona hasta el infinito.
Dicho control será representado en Simulink basándose en el diagrama en bloques que describe
su configuración, obteniendo:
Figura 3.19 – Control seno coseno hiperbólico en Simulink.
Se logra observar como el error de la posición es multiplicado tanto por una función seno
hiperbólica como por una función coseno hiperbólica, el resultado de esto será multiplicado por
la acción proporcional del sistema cuyas ganancias fueron obtenidas mediante prueba y error
buscando los mejores valores para una mejor respuesta del sistema. A su vez se utiliza el
parámetro de velocidad obtenida la cual al multiplicarla por un seno hiperbólico y el factor
derivativo conforman al restar estos, el valor de salidas del controlador.
52
3.5.1.1 - Resultados y simulaciones
Los resultados obtenidos al aplicar este controlador al sistema son:
a)
b)
Figura 3.20 – Gráfico de trayectoria deseada (a) frente a trayectoria obtenida (b). C. senh cosh
El primer gráfico cartesiano representa la comparativa entre la trayectoria deseada frente a la
trayectoria obtenida. Se puede observar un control adecuado solo por la diferencia al inicio de la
trayectoria donde se observa una pequeña perturbación que aumenta el error en el segundo
segmento de subida, propia del momento que rompe la inercia el manipulador.
Figura 3.21 – Gráfico de posiciones angulares deseadas frente a las obtenidas. C. senh cosh
El grafico de posiciones angulares (grados) muestra la comparativa entre las posiciones
angulares deseadas frente a las obtenidas en el tiempo (36 segundos de simulación). Se observa
un buen rendimiento de este controlador.
53
Figura 3.22 – Captura de CoppeliaSim trayectoria realizada por el manipulador. C. senh cosh
En la imagen se puede observar una captura de CoppeliaSim de la trayectoria realizada por el
manipulador diseñado mediante un control seno coseno hiperbólico. (la visualización de la
simulación completa se encuentra en la presentación del proyecto)
3.5.2 - Implementación Control Lógica Difusa
Mediante la aplicación de un controlador de lógica difusa se busca analizar el comportamiento
del manipulador al ser controlado por este. Se aplica una lógica de control propuesta en base a
lo que es la programación de lo que seria un experto. Mediante esta se configuran las entradas
y salidas, las variables lingüísticas dentro del universo discurso y las funciones de membresías
que mejor se aplican al sistema.
En Simulink mediante el toolbox Fuzzy Logic Designer se diseña la lógica difusa a operar.
Figura 3.23 – configuración mediante toolbox Fuzzy Logic Designer
54
Se utiliza un sistema del tipo Mamdani para la configuración debido a que, en base a lo estudiado
en las bibliografías relacionadas, esta configuración funciona de mejor manera cuando se trabaja
con el error del sistema. El sistema tiene 2 entradas correspondientes al error de posición y el
error de la velocidad y para encontrar el valor de salida se utilizará el método del centroide
también propuesto como la mejor opción al trabajar con Mamdani. El rango de valores a utilizar
es desde −1,57 𝑟𝑎𝑑 (−90°) a 1,57 𝑟𝑎𝑑 (90°) que son los márgenes de error que tiene un
servomotor.
Figura 3.24 – Funciones de membresía utilizadas en las entradas
Para las dos entradas se utilizaron 5 funciones triangulares y 2 trapezoidales como funciones de
membresía, repartidas de manera uniforme (decisión propuesta como una correcta configuración
al tratarse de manipuladores robóticos), las variables lingüísticas son:
Error de Posición
ENXG
Error negativo extragrande
ENG
Error negativo grande
ENP
Error negativo pequeño
EC
Error negativo cero
EPP
Error positivo pequeño
EPG
Error positivo grande
EPXG
Error positivo extragrande
Error de Velocidad
DENXG
Derivada del error negativo extragrande
DENG
Derivada del error negativo grande
DENP
Derivada del error negativo pequeño
DEC
Derivada del error negativo cero
DEPP
Derivada del error positivo pequeño
DEPG
Derivada del error positivo grande
DEPXG
Derivada del error positivo extragrande
La salida del sistema corresponde a el voltaje de salida. También se utilizaron como funciones
de membresía 5 triangulares y 2 trapezoidales. El rango de valores a utilizar es desde −12 (𝑉) a
12 (𝑉) que son los márgenes de alimentación del servomotor. Las variables lingüísticas de la
salida son:
Voltaje
VNXG
VNG
VNP
VC
VPP
VPG
VPXG
Voltaje negativo extragrande
Voltaje negativo grande
Voltaje negativo pequeño
Voltaje negativo cero
Voltaje positivo pequeño
Voltaje positivo grande
Voltaje positivo extragrande
Mediante estas variables se realiza la configuración de las reglas (IF-THEN) en el toolbox y se
paso a realizar la simulación.
55
Figura 3.25 – Control lógica difusa en Simulink
3.5.2.1 - Resultados y simulaciones
Los resultados obtenidos al aplicar este controlador al sistema son:
a)
b)
Figura 3.26 – Gráfico de trayectoria deseada (a) frente a trayectoria obtenida (b). C. Fuzzy
El primer grafico cartesiano representa la comparativa entre la trayectoria deseada frente a la
trayectoria obtenida. Se puede observar un control que comienza de manera adecuada a lo
esperado pero que conforme el tiempo avanza comienza a aumentar el error resultando en una
trayectoria distinta a la deseada.
56
Figura 3.27 – Gráfico de posiciones angulares deseadas frente a las obtenidas. C. Fuzzy
El grafico de posiciones angulares (grados) muestra la comparativa entre las posiciones
angulares deseadas frente a las obtenidas en el tiempo (36 segundos de simulación). Se observa
un permanente estado de error entre ambas curvas.
Figura 3.28 – Captura de CoppeliaSim trayectoria realizada por el manipulador. C. Fuzzy
En la imagen se puede observar una captura de CoppeliaSim de la trayectoria realizada por el
manipulador diseñado mediante un control lógico difusa. (la visualización de la simulación
completa se encuentra en la presentación del proyecto)
57
3.5.3 - Implementación Control PID Neurocompensado
3.5.3.1 - Control PID
Para realizar el controlador Neurocompensado se decidió comprobar el funcionamiento de una
red neuronal compensando a un clásico control PID, se detalla el diseño de éste a continuación:
Figura 3.29 – Control PID Simulink
El diagrama del controlador PID trabaja en base al error de posición y el error de la velocidad
según lo propuesto por R. Kelly, y V. Santibáñez en el libro Control de Movimiento de Robots
Manipuladores. Las ganancias de las constantes proporcional, derivativa e integral fueron
encontradas mediante el método de prueba error buscando la mejor respuesta de este.
3.5.3.2 - Entrenamiento red neuronal
Para configurar la red neuronal en primera instancia se realizo el proceso de entrenamiento de
la red, que consistió en obtener los valores asignados a la entrada y salida (target) de la red y
que servirán de entrenamiento para la red.
Para esto se utilizo la misma simulación en Simulink del modelo completo, pero cambiando los
valores de entrada, se cambio una trayectoria deseada por un bloque random que ingreso aprox.
100.000 valores aleatorios de posiciones angulares al sistema. Se asigno como parámetros de
entrada los errores de posición que entrego el control PID y las posiciones obtenidas de la
simulación, y como parámetro de salida (target) el voltaje de salida del controlador, estos datos
fueron exportados como un bloque da datos al workspace para ser luego ingresados al toolbox
nntool el cual realizo el entrenamiento.
PID
Figura 3.30 – Proceso de entrenamiento Red
58
Una vez obtenidos los valores para el entrenamiento, mediante el toolbox nntool se crea la red
neuronal y el entrenamiento de esta. En primera instancia se unieron ambos datos de entrada
(error de posición y posición obtenida) y se asignaron a la variable input (una por cada
articulación) estas fueron utilizadas como Input Data y se ingresan los targets obtenidos como
Target Data.
Luego se configura el entrenamiento de la red, se utiliza una función triangular como función de
activación de la red (experimental) y se establece el método de aprendizaje de la red. El método
escogido es el de la retro propagación (backpropagation). La retro propagación es un tipo de
entrenamiento supervisado que se emplea para redes multicapas donde se ajusta el valor de los
pesos en función del error generado. Esta técnica es muy empleada ya que permite tener un
método de optimización que se encuentra al definir el gradiente del error y minimizarlo con
respecto a los parámetros de la red neuronal. Se utilizaron 10 neuronas en 2 capas, por ende,
se entrena una red multicapa.
Figura 3.31 – Configuración nntool para la red neuronal
El proceso de entrenamiento estuvo bordeando siempre valores muy bajos de gradientes de error
y obtuvo un valor de asertividad del 93% en un periodo de 1000 épocas.
Figura 3.32 – Proceso de entrenamiento
59
3.5.3.3 - Implementación de la Neurocompensación.
Una vez realizado el entrenamiento de la red se exportan las 3 (Custom Neural Network) a la
simulación en Simulink y se realiza la compensación del PID en base al diagrama propio de un
compensador. Se utilizan como parámetros de entrada a las redes las posiciones angulares
deseadas y el error de posición.
Figura 3.33 – PID Neurocompensado Custom Neural Network de las articulaciones
3.5.3.4 - Resultados y simulaciones
Los resultados obtenidos al aplicar este controlador al sistema son:
a)
b)
Figura 3.34 – Gráfico de trayectoria deseada (a) frente a trayectoria obtenida (b). C. Neurocompensado
El primer grafico cartesiano representa la comparativa entre la trayectoria deseada frente a la
trayectoria obtenida. Se puede observar un control que comienza de manera adecuada con una
leve perturbación propia del momento que rompe la inercia el manipulador que aumenta en el
segundo segmento de subida. completa la trayectoria de manera optima.
60
Figura 3.35 – Gráfico de posiciones angulares deseadas frente a las obtenidas. C. Neurocompensado
El grafico de posiciones angulares (grados) muestra la comparativa entre las posiciones
angulares deseadas frente a las obtenidas en el tiempo (36 segundos de simulación). Se observa
buen desempeño del controlador a excepción del momento en que comienza la segunda subida
de la trayectoria donde el error aumenta.
Figura 3.36 – Captura de CoppeliaSim trayectoria realizada por el manipulador. C. Neurocompensado
En la imagen se puede observar una captura de CoppeliaSim de la trayectoria realizada por el
manipulador diseñado mediante un control PID Neurocompensado. (la visualización de la
simulación completa se encuentra en la presentación del proyecto)
61
3.5.4 - Implementación Control Par Calculado
Mediante la aplicación de un controlador par calculado se busca analizar el comportamiento del
manipulador al ser controlado por este. Se buscará observar tal como fundamenta la teoría de
este tipo de control que emplea realimentación no-lineal para desacoplar las interacciones entre
los eslabones del manipulador, y utiliza un regulador proporcional mas derivativo para controlar
los actuadores, por lo tanto, se puede decir que realiza un control del tipo anticipativo.
La ecuación que describe el funcionamiento del control par calculado es:
P )𝑲𝒑 𝒒
P + 𝑴(𝒒𝒅 − 𝒒
P)𝑲𝒗 𝒒
Ṗ + 𝑴(𝒒)𝒒̈ 𝒅 + 𝑪(𝒒, 𝒒̇ )𝒒̇ + 𝒈(𝒒)
𝝉 = 𝑴(𝒒𝒅 − 𝒒
Figura 3.37 – Control par calculado en Simulink
Para el modelo en Simulink se utilizaron bloques de función en los cuales se encuentra la matriz
de inercia del modelo y la matriz de Coriolis ambos realimentados con los mismos parámetros
del modelo.
3.5.4.1 - Resultados y simulaciones
Los resultados obtenidos al aplicar este controlador al sistema son:
a)
b)
Figura 3.38 – Gráfico de trayectoria deseada (a) frente a trayectoria obtenida (b). C. Par Calculado
62
El primer grafico cartesiano representa la comparativa entre la trayectoria deseada frente a la
trayectoria obtenida. Se puede observar un control que comienza de manera adecuada casi sin
perturbación al inicio que aumenta el error en el segundo segmento de subida y que completa la
trayectoria de manera optima.
Figura 3.39 – Gráfico de posiciones angulares deseadas frente a las obtenidas. C. Par Calculado
El grafico de posiciones angulares (grados) muestra la comparativa entre las posiciones
angulares deseadas frente a las obtenidas en el tiempo (36 segundos de simulación). Se observa
buen desempeño del controlador.
Figura 3.40 – Captura de CoppeliaSim trayectoria realizada por el manipulador. C Par Calculado
En la imagen se puede observar una captura de CoppeliaSim de la trayectoria realizada por el
manipulador diseñado mediante un control Par Calculado. (la visualización de la simulación
completa se encuentra en la presentación del proyecto).
63
Capítulo 4 – Análisis de Desempeño
4.1 - Indicadores de desempeño estadísticos
En el área de la robótica no hay un criterio estándar para medir el desempeño (performance) de
un algoritmo de control. Nyquist, root-locus, Bode, etc. son criterios específicos de sistemas
lineales los cuales no aplican a robots manipuladores debido a su naturaleza no lineal.
Algunos investigadores miden el desempeño de algoritmos de control por inspección visual de
las gráficas del error de posición y a su juicio determinan si el desempeño es adecuado. Sin
embargo, dicha medición es muy subjetiva y queda a interpretación de este.
Un criterio académico ampliamente aceptado en robótica para medir el desempeño de un
algoritmo de control es por medio de la obtención de indicadores estadísticos de desempeño
como lo son el RMS – media cuadrática residual (root mean square), el RSD – desviación
estándar residual (residual standard deviation) y el AI – Índice de acuerdo (agreement of index).
4.1.1 - RMS – Media cuadrática Residual (Root Mean Square)
El error cuadrático medio mide la cantidad de error que hay entre 2 conjuntos de datos. En otras
palabras, compara un valor observado o obtenido con un valor predicho o deseado. Obteniendo
la media de estos errores entre el número total de muestras. Esta normalizado entre 0 y 1.
∑1 (𝑜- − 𝑝- )0
𝑅𝑀𝑆 = C -2!
𝑛
𝑛 = 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝐷𝑎𝑡𝑜𝑠 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜𝑠
𝑜! = 𝑉𝑎𝑙𝑜𝑟 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜 𝑖 − 𝑒𝑠𝑖𝑚𝑜 (𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜, 𝑂𝑏𝑡𝑒𝑛𝑖𝑑𝑜)
𝑝! = 𝑉𝑎𝑙𝑜𝑟 𝑃𝑟𝑒𝑑𝑖𝑐ℎ𝑜 𝑖 − 𝑒𝑠𝑖𝑚𝑜 (𝐷𝑒𝑠𝑒𝑎𝑑𝑜, 𝑆𝑒𝑡 − 𝑝𝑜𝑖𝑛𝑡)
4.1.2 - RSD – Desviación Estándar Residual (Residual Standar Deviation)
La desviación estándar residual, Cuantifica la dispersión de los datos con respecto a la media.
Se obtiene como la raíz de la media de las desviaciones cuadráticas de cada dato con respecto
a la media. Se normaliza entre 0 y 1.
∑1-2!(𝑜- − 𝑝- )0
𝑅𝑆𝐷 = C
∑1-2!(𝑜- )0
𝑛 = 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝐷𝑎𝑡𝑜𝑠 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜𝑠
𝑜! = 𝑉𝑎𝑙𝑜𝑟 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜 𝑖 − 𝑒𝑠𝑖𝑚𝑜 (𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜, 𝑂𝑏𝑡𝑒𝑛𝑖𝑑𝑜)
𝑝! = 𝑉𝑎𝑙𝑜𝑟 𝑃𝑟𝑒𝑑𝑖𝑐ℎ𝑜 𝑖 − 𝑒𝑠𝑖𝑚𝑜 (𝐷𝑒𝑠𝑒𝑎𝑑𝑜, 𝑆𝑒𝑡 − 𝑝𝑜𝑖𝑛𝑡)
64
4.1.3 - AI – Índice de acuerdo (Agreement of Index)
El índice de acuerdo o índice de concordación (propuesto por Willmontt, 1981) es una medida
del grado en que los datos estimados por el modelo (o valores deseados) están libres de error.
Este índice varia de 0 a 1, siendo AI = 1 indica una perfecta concordancia entre los valores
observados (obtenidos) y los estimados (deseados) y AI = 0 significa total discordancia.
∑1-2!(𝑜- − 𝑝- )0
𝐴𝐼 = 1 − 1
∑-2!(|𝑜́ - | + |𝑝́ - |)0
Siendo,
|𝑜́ B | = 𝑜B − 𝑜C
|𝑝́ B | = 𝑝B − 𝑜C
𝑛 = 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝐷𝑎𝑡𝑜𝑠 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜𝑠
𝑜! = 𝑉𝑎𝑙𝑜𝑟 𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜 𝑖 − 𝑒𝑠𝑖𝑚𝑜 (𝑂𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜, 𝑂𝑏𝑡𝑒𝑛𝑖𝑑𝑜)
𝑝! = 𝑉𝑎𝑙𝑜𝑟 𝑃𝑟𝑒𝑑𝑖𝑐ℎ𝑜 𝑖 − 𝑒𝑠𝑖𝑚𝑜 (𝐷𝑒𝑠𝑒𝑎𝑑𝑜, 𝑆𝑒𝑡 − 𝑝𝑜𝑖𝑛𝑡)
𝑜A = 𝑉𝑎𝑙𝑜𝑟 𝑝𝑟𝑜𝑚𝑒𝑑𝑖𝑜 𝑑𝑒 𝑙𝑜𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑜𝑏𝑠𝑒𝑟𝑣𝑎𝑑𝑜𝑠
4.2 - Análisis indicadores de desempeño controladores
4.2.1 - Obtención de indicadores de desempeño
La obtención de los valores cuantitativos asociados a los sistemas de control no lineales se
obtuvo mediante un script en matlab en el cual se realizó la programación (código) de las
ecuaciones características de cada indicador (expuestas anteriormente en este informe) y fue
aplicado a cada uno de los modelos simulados.
Figura 4.1 – Script para la obtención de
parámetros necesarios en el calculo de
indicadores.
65
Figura 4.2 – Script para la obtención índices de desempeño.
4.2.2 - Resultados y gráficas
Los resultados obtenidos luego de realizar los cálculos son:
Figura 4.3 – Tabla de resultados indicadores de desempeño aplicados a los controladores.
Figura 4.4 – Gráfico valores, indicador RMS obtenidos de los controladores (resultados entre 0 y 1).
66
Figura 4.5 – Gráfico valores, indicador RSD obtenidos de los controladores (resultados entre 0 y 1).
Figura 4.6 – Gráfico valores, indicador AI obtenidos de los controladores (resultados entre 0 y 1).
67
4.3 - Conclusiones del Análisis
4.3.1 – Conclusión Indicador RMS
Se sabe que la efectividad de un controlador se cumple llevando el error a un estado estacionario,
en lo ideal error cero, pero dentro de un sistema dinámico real, y mas aun tratándose de un
sistema manipulador robótico que es altamente no lineal se podría esperar una alta inestabilidad
en los errores.
El definir una trayectoria a seguir por el manipulador da pie a que el controlador no pueda
mantener la estabilidad en el seguimiento de esta, llegando a tener errores que oscilen entre
grandes valores. Para obtener un resultado cuantitativo del desempeño de nuestros
controladores, es que se calculo el valor medio residual (RMS) de los valores de errores que tuvo
cada articulación en el seguimiento de la trayectoria. Una vez obtenidos estos valores en los
cuales se consideraron el valor total de muestras, se realizo el grafico anteriormente mostrado
(Figura 4.4), en este, se puede visualizar en un rango entre 0 y 1 el valor medio de errores del
manipulador, y lo que se puede observar es que ninguna articulación (de las 3 articulaciones) y
en la aplicación de ningún controlador no lineal (4 controladores) el valor de error supero el 13%
del rango, y mas aun si el valor medio mayor fue de 0,1248 es un valor casi igual a decir que el
error fue nulo.
Al comparar entre los controladores, bien se puede observar en las graficas de respuesta
(Figuras 3.20 – 3.26 – 3.34 – 3.38) de estos que el controlador de lógica difusa fue el que obtuvo
peor rendimiento, aunque aceptable, fue el que tuvo mayor inestabilidad al momento de seguir
la trayectoria deseada.
El controlador difuso dentro de los 4 controladores utilizados es una técnica de control muy solida
y con una base matemática al nivel de las otras, y su naturaleza de sintonización y configuración
esta ligada completamente al conocimiento experto, por ende, se puede concluir que a pesar de
mostrar este, mayor grado de error esta totalmente comprobado que un mejor conocimiento del
sistema permitiría una mejor configuración y por ende un mejor rendimiento al nivel de los otros
controladores.
También se puede mencionar los mejores rendimientos, entre los cuales tenemos el PID
Neurocompensado y el control seno-coseno-hiperbólico (datos en figura 4.3), ambos con un
excelente desempeño, menos de 1 % de error, y no es de extrañar ya que en el primer caso la
compensación que le da la red neuronal al control PID esta dada de un aprendizaje de 100.000
posiciones de error, que es una altísima cifra de parámetros de entrenamiento con un sobre 90%
en su asertividad en el aprendizaje, lo que fue un buen resultado y además se sabe que al tratarse
de una red neuronal esta puede seguir aprendiendo del manipulador, de su trayectoria y mejorar
aun mas su función. En el segundo caso, el del seno-coseno-hiperbólico se observa en base a
la simulación y los resultados obtenidos, su alta estabilidad, lo cual responde al principio
matemático de este, las funciones hiperbólicas tienden a minimizar los errores en cuanto el
tiempo avanza hacia el infinito, por ende, se pudiese incluso esperar mejores resultados en un
mayor tiempo de simulación o en un diseño de trayectoria mas extenso.
Finalmente, para concluir sobre los RMS obtenidos, claramente los 4 controladores cumplen una
buena y estable función de control sobre el manipulador.
68
4.3.2 – Conclusión Indicador RSD
Al ubicar el valor de error medio obtenido del calculo del RMS al centro de una línea recta la cual
representa el margen de errores posibles, se planteo lo siguiente, el error fue un valor bajo, casi
cero, pero ¿siempre se mantuvo en ese rango?, ¿Cuál fue el máximo valor de error y el mínimo?
para responder a estas interrogantes se calculo la desviación estándar residual (RSD) a los 4
controladores. Mediante este, se pudo observar los resultados visto en el grafico presentados
anteriormente en este informe (Figura 4.5). se pudo concluir que los valores de error obtenidos
en ningún caso (4 controladores aplicados) tuvo una desviación del valor medio del error mayor
al 1% del valor del error, es decir, los errores obtenidos durante el seguimiento de la trayectoria
siempre estuvieron bordeando valores de error cercanos a cero.
Por otro lado, se pudo observar claramente en las graficas (Figuras 3.20 – 3.26 – 3.34 – 3.38),
que todos los controladores tuvieron apreciables grados de inestabilidad en el seguimiento de la
trayectoria al inicio de esta, lo cual pudiese contradecir lo expuesto anteriormente, pero se sabe
que siempre es en el inicio de la trayectoria diseñada donde el manipulador debe romper la
inercia del movimiento para comenzar a seguirla, por lo cual era de esperar esta inestabilidad
propia de la respuesta de los sistemas de control.
El RSD de los 4 controladores se mantuvo en valores bajos y muy aceptables ya que solo es en
un mínimo periodo de tiempo (menos de 2 segundos) que ocurren estas inestabilidades, luego a
lo largo de la trayectoria, el seguimiento de esta es casi perfecto, por lo cual, la acumulación de
valores de errores siempre se mantiene bajo.
Finalmente evaluando los controladores por separado, se puede concluir lo mismo que con el
indicador de RMS, el controlado difuso fue dentro de los 4 el de mayor desviación, pero se
mantiene el argumento explicativo a esto del parámetro anterior y los dos mejores rendimientos,
PID neurcompensado y seno coseno hiperbólico también mantienen la misma explicación
expuesta en el parámetro anterior (datos en figura 4.3).
4.3.3 – Conclusión Indicador AI
El indicador AI, índice de acuerdo o concordancia es a nuestro criterio como conclusión el mejor
indicador de los 3, si lo vemos aplicado a un manipulador robótico el cual debe seguir una
trayectoria de manera exacta a la definida, Willmontt (creador de este parámetro) dio con la
formula exacta para poder criticar el funcionamiento del sistema. Analizando un valor muy simple
y definido, entre 0 y 1, cual es la concordancia entre los valores de posición angular que yo quiero
que tome el manipulador y cuales fueron los que tomo, 0, para una total discordancia entre ambos
valores, es decir, el manipulador mantuvo un error constante en el seguimiento de la trayectoria,
y 1, una perfecta concordancia entre ambos valores, es decir, el manipulador siempre se mantuvo
siguiendo la trayectoria de manera perfecta, si lo vemos cuantitativamente el error permanente
bordeo el valor cero de error durante todo su recorrido.
Se observa en la grafica de barras (Figura 4.6) que los 4 controladores bordean el 1, siendo
incluso 1 en la mayoría de los controladores, lo cual era lo esperado, ya que analizando los
anteriores indicadores, las graficas (Figura 4.4 – 4.5), y visualizando la simulación del
manipulador, los 4 controladores no lineales claramente son totalmente aceptables en su función
para el control de un sistema altamente no lineal como un manipulador robótico, todos siguieron
la trayectoria definida de manera exacta en el mayor tiempo de simulación.
69
4.3.4 – Conclusión General
Kelly y Santibáñez, si bien en su libro desarrollan un poco la aplicación de controladores no
lineales para el control de movimiento de un manipulador robótico, solo pudimos ver en su texto
teóricamente su aplicación. pero por fortuna, nuestra época de estudio no permitió acceder y
aprender con herramientas digitales (Software) de cálculo y simulación que permiten llevar la
teoría a una comprobación casi empírica y practica de la robótica.
Gracias a esto, no solo pudimos desarrollar el funcionamiento de un manipulador robótico, sino
que pudimos simular su funcionamiento de manera grafica e incluso visual, comprobando y
dando respuesta a las interrogantes que nos planteamos como base de este proyecto. Si, es
posible aplicar controladores no lineales a un manipulador robótico, y era de esperar, un sistema
totalmente no lineal como este, presenta excelentes resultados al aplicar control no lineal. Lo
pudimos comprobar y visualizar.
Si bien los 4 controladores mantuvieron valores bajos de error y siguieron la trayectoria definida
de manera estable se puedo observar pequeñas diferencias entre ellos lo que nos permite
ordenarles en función de su desempeño:
Los controladores con mejores índices de desempeño son el Seno Coseno Hiperbólico y el PID
Neurocompensado, ambos tuvieron los valores de error mas cercanos a cero,
Figura 4.7 – Tabla de resultados controladores mejor desempeño.
Luego como en un nivel de desempeño medio podemos ubicar el controlador Par Calculado, con
valores,
Figura 4.8 – Tabla de resultados controlador desempeño medio.
Y finalmente el controlador con el mas bajo desempeño es el controlador Lógica Difusa,
Figura 4.9 – Tabla de resultados controlador desempeño bajo.
70
Figura 4.10 – Orden de controladores en base s su desempeño.
La manera de ordenar los controladores en función de su desempeño que se expuso (Figura
4.10) permite a simple vista poder comparar entre ellos en base a los resultados obtenidos del
análisis realizado en este proyecto y al sistema manipulador robótico diseñado para este fin.
Cada uno de los controladores no lineales utilizados en este proyecto son robustas técnica de
control con solidas bases teóricas y de múltiples y variados usos, por ende, este orden no
pretende generalizar el rendimiento de estas, lo expuesto solo hace alusión a su desempeño al
ser aplicadas en este proyecto.
Un ultimo planteamiento que deja Kelly y Santibáñez, habla de lo indispensable que es para el
desarrollo de futuras aplicaciones especificas, que quizás, inclusive, no pueden ser llevadas a
cabo mediante los robots comerciales existentes, plantearse el reto y la importancia del desarrollo
de este tema. quien sabe la gran cantidad de avances que viviremos en el futuro.
Con esto planteamos la ultima y general conclusión para nosotros a raíz del desarrollo de este
proyecto. en lo ideal para nosotros este estudio y análisis podría quedar como base de
conocimiento para las futuras generaciones de estudiantes de esta carrera, y sirva para el
desarrollo de aplicaciones, soluciones u investigaciones en el área de la automatización, el
control industrial y por supuesto la robótica.
71
Referencias Bibliográficas
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Rafael Kelly, Víctor Santibáñez. Control de Movimiento de Robots Manipuladores.
PEARSON Educación S.A. 2003.
Antonio Barrientos, Luis Felipe Peñín, Carlos Balaguer, Rafael Aracil. Fundamentos de
Robótica, 2da edición. McGraw-Hill/Interamericana de España. 2007.
Roger Miranda Colorado. Cinemática y Dinámica de Robots Manipuladores.
Alfaomega. 2016.
John J. Craig. Robótica, 3ra edición. PEARSON Educación S.A. 2006.
Aníbal Ollero Baturone. Robótica Manipuladores y robots móviles. Marcombo Boixareu
Editores. 2001.
Pedro Ponce Cruz. Inteligencia Artificial. Alfaomega. 2010.
Fernando Reyes Cortes. Robótica Control de Robots Manipuladores. Alfaomega. 2011.
Bonifacio Martin del Brío, Alfredo Sanz Molina. Redes Neuronales y Sistemas Difusos,
2da edición. Alfaomega Ra-Ma. 2002.
Sitio: UdeSantiagoVirtual, Curso: Aprendiendo con la robótica industrial entretenida,
Libro: 5.1 Planificación de Trayectorias. 2021. URL:
http://www.udesantiagovirtual.cl/moodle2/mod/book/view.php?id=24819#:~:text=La%20
planificaci%C3%B3n%20de%20trayectorias%20es,un%20marco%20de%20referencia
%20absoluto.
Informe de caso una guía Practica. Estructura A. URL: www.uc.cl
Hebertt Sira-Ramírez, Richard Márquez, Francklin Rivas-Echeverría, Orestes LlanesSantiago. Control de Sistemas no Lineales, Linealización aproximada, extendida,
exacta. 2004.
Beatriz Ibet Lozada García, paulo Cesar Sentelhes. Modelos de estimación de las
temperaturas promedio de la mínima, máxima y media diaria para la región andina de
Venezuela. 2008. Scielo. URL:
http://ve.scielo.org/scielo.php?script=sci_arttext&pid=S0002-192X2008000200005
Luis E. Espinoza Maya, Jorge L. Barahona Avalos, Fernando Reyes Cortes. Nuevos
controladores de posición para robot manipuladores basados en funciones
hiperbólicas. Facultad de Ciencias de la Electrónica BUAP. URL:
https://www.researchgate.net/publication/267207149_NUEVOS_CONTROLADORES_
DE_POSICION_PARA_ROBOT_MANIPULADORES_BASADOS_EN_FUNCIONES_HI
PERBOLICAS
Cort J. Willmont, Scott M. Robeson, Kenji Matsuura. Short Communication A Refined
Index Of Model Performance. RMets. 2012.
Eugenio Tacconi, Ricardo Mantz, Jorge Solsona, Pablo Puleston. Controladores
Basados en Estrategias PID.LEICI, Facultad de Ingeniería, UNLP. 2005.
Claudio Urrea Oñate, Cristóbal Carreño Mosqueira, Enrique San Juan Urrutia, Marcela
Jamett Domínguez. Comparación de algoritmos para el control de movimiento en
manipulador robotizado de 2 GDL. Grupo de Automática. Departamento de Ingeniería
Eléctrica, Universidad de Santiago de Chile, 2014.
Eugenio Yime Rodríguez, Javier Roldan Mckinley, José Villa Ramírez. Control por par
calculado de un robot paralelo planar de 2-RR. 2017.
Samir Kouro R, Rodrigo Musalem M. Control Mediante Lógica Difusa.
John Kern M, Claudio Urrea O. Modelamiento y Simulación de un robot redundante de
tipo manipulador SCARA. Departamento de Ingeniería Eléctrica, Universidad de
Santiago de Chile. 2011.
Luis Rodríguez Ojeda. Probabilidad y Estadística Básica para Ingenieros. Instituto de
Ciencias Matemáticas Escuela Superior Politécnica del Litoral, ESPOL, Guayaquil,
Ecuador, 2007.
Claudio Urrea, John Kerna, Exequiel Álvarez, Diseño e implementación de estrategias
de control tolerantes a fallas para robots manipuladores no activados. Grupo de
Automática, Departamento de Ingeniería Eléctrica, Universidad de Santiago de Chile.
IFR, International Federation of Robotics, URL: https://ifr.org/
72
Download