Sunteți pe pagina 1din 130

UNIVERSIDAD NACIONAL DE TRUJILLO

Facultad de Ingeniería
Escuela Profesional de Ingeniería Mecatrónica

DISEÑO E IMPLEMENTACIÓN DE UN BRAZO ROBÓTICO DE 3 GDL


PARA ORDENAMIENTO DE CILINDROS MEDIANTE PROCESAMIENTO
DE IMÁGENES

Proyecto de Investigación Formativa


Robótica

AUTOR(es):
Acosta Chávez Arnold Jean Pierre
Avalos Alvarez Eduardo Flavio
Cabeza Mantilla Julio César
Llumpo Dextre José Alejandro
Mendez Polo Jack Daivy
Miranda Cabanillas Jherson Aaron
DOCENTE(s):
Ing. Alva Alcántara Josmell Henry
Dr. Prado Gardini Sixto Ricardo
CICLO:
IX

Trujillo, Perú
Julio del 2019
UNIVERSIDAD NACIONAL DE TRUJILLO

Resumen

El presente proyecto: Diseño e implementación de un brazo robótico de 3 GDL para


ordenamiento de cilindros mediante procesamiento de imágenes, consiste en el diseño,
modelado e implementación de un manipulador de 3 GDL que, mediante una cámara web,
posiciona a los cilindros de acuerdo a su diámetro en una matriz de 4 x 4. En la metodología se
empleó el proceso de diseño mecatrónico; partiendo del reconocimiento de la necesidad, la cual
era ordenar los cilindros según sus radios, por lo que, se desarrolla el diseño conceptual para
determinar el tipo de manipulador a emplear. A continuación, desarrollamos el modelamiento
del brazo robótico que consiste en el análisis cinemático, estático y dinámico, además de
desarrollar el procesamiento de imágenes en MATLAB. Se referenció la imagen que capta la
cámara con la base del robot a base de un cálculo vectorial y escalado en centímetros. Luego se
procedió a desarrollar la generación de trayectorias empleando un interpolador quíntico y lineal
para que el robot pueda resolver el camino desde que sujeta el cilindro hasta dejarlo en la matriz;
finalmente se desarrolló una interfaz gráfica de usuario en MATLAB para dar las órdenes al
brazo robótico. En anexos se consideran tanto los algoritmos empleados para el cálculo como
tabla de costos, cronograma de actividades y los planos de las piezas en CAD.

Palabras claves: Brazo robótico, cilindros, procesamiento de imágenes, MATLAB, interfaz.

INGENIERÍA MECATRÓNICA i
UNIVERSIDAD NACIONAL DE TRUJILLO

Abstract

The present project: Design and implementation of a robotic arm of 3 GDL for ordering of
cylinders by means of image processing, consists of the design, modeling and implementation
of a 3 GDL manipulator that, by means of a webcam, positions the cylinders according to the to
its diameter in a 4 x 4 matrix. In the methodology, the mechatronic design process was used;
starting from the recognition of the need, which was to order the cylinders according to their
radius, so, the conceptual design is developed to determine the type of manipulator to be used.
Next, we developed the robotic arm modeling consisting of kinematic, static and dynamic
analysis, as well as developing image processing in MATLAB. The image captured by the
camera with the base of the robot was referenced based on a vector calculation and scaling in
centimeters. Then we proceeded to develop trajectory generation using a quintic and linear
interpolator so that the robot can solve the path from the moment it holds the cylinder to the
matrix; finally a graphical user interface was developed in MATLAB to give the orders to the
robotic arm. The annexes include both the algorithms used for the calculation as a table of costs,
schedule of activities and the drawings of the parts in CAD.

Keywords: Robotic arm, modeling, image processing, MATLAB, interface.

INGENIERÍA MECATRÓNICA ii
UNIVERSIDAD NACIONAL DE TRUJILLO

ÍNDICE GENERAL

Capítulo 1: Introducción ........................................................................................................... 1


Capítulo 2: Antecedentes .......................................................................................................... 3
Capítulo 3: Marco Teórico........................................................................................................ 5
3.1. ROBÓTICA: ................................................................................................................. 5
3.1.1. DEFINICIÓN DE ROBOT: .................................................................................. 5
3.1.2. CLASIFICACION DEL ROBOT: ........................................................................ 7
3.1.3. HERRAMIENTAS MATEMÁTICAS PARA LA LOCALIZACIÓN
ESPACIAL: .......................................................................................................................... 8
3.1.4. CINEMÁTICA DEL ROBOT: ............................................................................ 14
3.1.5. ESTÁTICA DEL ROBOT: ................................................................................. 21
3.1.6. DINÁMICA DEL ROBOT – FORMULACIÓN LAGRANGE - EULER: ........ 23
3.2. PROCESAMIENTO DE IMÁGENES: ...................................................................... 30
3.2.1. CÁMARA WEB .................................................................................................. 30
3.2.2. MATLAB: ........................................................................................................... 30
3.2.3. PROCESO DE OBTENCIÓN DE LOS ORÍGENES DE LOS CÍRCULOS ..... 31
Capítulo 4: Metodología.......................................................................................................... 35
4.1. RECONOCIMIENTO DE LA NECESIDAD: ........................................................... 35
4.2. DISEÑO CONCEPTUAL Y ESPECIFICACIONES FUNCIONALES: ................... 36
4.3. PRIMER MODELAMIENTO MATEMÁTICO MODULAR:.................................. 44
4.3.1. MODELAMIENTO CINEMÁTICO: ................................................................. 44
4.3.2. MODELAMIENTO ESTÁTICO: ....................................................................... 53
4.3.3. MODELAMIENTO DINÁMICO: ...................................................................... 54
4.4. SENSORES, ACTUADORES Y TARJETAS COMPLEMENTARIAS ................... 58
4.4.1. SENSORES: ........................................................................................................ 58
4.4.2. ACTUADORES: ................................................................................................. 58
4.4.3. TARJETA DE POTENCIA: ................................................................................ 59
4.4.4. TARJETA DE COMUNICACIÓN: .................................................................... 60
4.5. CONTROL CINEMATICO: ...................................................................................... 60
4.5.1. ESPACIO DE TRABAJO: .................................................................................. 60

INGENIERÍA MECATRÓNICA iii


UNIVERSIDAD NACIONAL DE TRUJILLO
4.5.2. CALIBRACIÓN Y POSICIONAMIENTO: ....................................................... 62
4.5.3. GENERACIÓN DE TRAYECTORIAS: ............................................................ 65
Capítulo 5: Resultados y Discusiones ................................................................................... 68
5.1. RESULTADOS DEL ANÁLISIS CINEMÁTICO: ................................................... 68
5.2. RESULTADOS DEL ANÁLISIS ESTÁTICO: ......................................................... 70
5.3. RESULTADOS DEL ANÁLSIS DINÁMICO: FORMULACIÓN LAGRANGE -
EULER: ................................................................................................................................. 72
5.4. RESULTADOS DE LA GENERACION DE TRAYECTORIAS: ............................ 73
Capítulo 6: Conclusiones ....................................................................................................... 75
Capítulo 7: Recomendaciones ............................................................................................... 77
Referencias Bibliográficas ...................................................................................................... 78
ANEXOS .................................................................................................................................. 79
ANEXO I: ALGORITMO DE CINEMÁTICA DIRECTA .................................................. 79
ANEXO II: ALGORITMO PARA CINEMÁTICA INVERSA ............................................ 79
ANEXO III: FUNCION PARA CINEMATICA DE DIFERENCIAL ................................. 80
ANEXOS IV: ALGORITMO PARA DINÁMICA LAGRANGE - EULER: ...................... 81
ANEXOS V: ALGORITMO PARA GENERAR EL ESPACIO DE TRABAJO ................. 85
ANEXOS VI: ALGORITMO DE GENERACION DE TRAYECTORIA CON SPLIN
QUINTICO: ........................................................................................................................... 86
ANEXOS VII: FUNCIÓN DE MOVIMIENTO LINEAL PARA LAS TRAYECTORIAS:
............................................................................................................................................... 88
ANEXO VIII: INTERFAZ GRÁFICA DESARROLLADA EN MATLAB ........................ 89
ANEXO IX: CRONOGRAMA DE ACTIVIDADES DEL DESARROLLO DEL
PROYECTO .......................................................................................................................... 90
ANEXO X: TABLA DE COSTOS TOTALES DEL PROYECTO ...................................... 91
ANEXOS XI: CÓDIGO GENERAL ..................................................................................... 92
ANEXOS XII: PLANOS DE LAS PIEZAS DISEÑADAS EN SOLIDWORKS ................ 92

INGENIERÍA MECATRÓNICA iv
UNIVERSIDAD NACIONAL DE TRUJILLO

ÍNDICE DE FIGURAS

Figura 1. Sistemas cartesianos de dos y tres dimensiones ........................................................... 8


Figura 2. Sistema de coordenadas polares ................................................................................... 9
Figura 3. Sistema de coordenadas cilíndricas .............................................................................. 9
Figura 4. Sistemas de coordenadas esféricas ............................................................................. 10
Figura 5. Sistema de referencia fijo OXY y móvil OUV .......................................................... 10
Figura 6. Ángulos de Euler ZXZ ............................................................................................... 12
Figura 7. Ángulos de Euler ZYZ ............................................................................................... 12
Figura 8. Ángulos de Euler Roll, Pich and Yaw ....................................................................... 13
Figura 9. Diagrama de relación entre cinemática directa e inversa ........................................... 14
Figura 10. Velocidad lineal ....................................................................................................... 17
Figura 11. Fuerzas y momentos que actúan sobre el eslabón i.................................................. 21
Figura 12. Centro de masa con respecto a sistema de coordenadas fuera del cuerpo rígido ..... 24
Figura 13. Sistema de coordenadas en el centro de masa de un cuerpo rígido ......................... 25
Figura 14. Manipulador de n eslabones ..................................................................................... 26
Figura 15. Eslabón i, para hallar su energía cinética ................................................................. 27
Figura 16. Eslabon i, para hallar su energía potencial ............................................................... 29
Figura 17. Proceso de obtención de los orígenes de los círculos .............................................. 31
Figura 18. Proceso de diseño mecatrónico ................................................................................ 35
Figura 19. Representación gráfica de un manipulador robótico para ordenar un conjunto de
cilindros ..................................................................................................................................... 36
Figura 20. Robot Scara 4 GDL .................................................................................................. 38
Figura 21. Robot paralelo de 4 GDL ......................................................................................... 38
Figura 22. Robot cartesiano ....................................................................................................... 38
Figura 23. Robot antropomórfico de 7 GDL, se plantea el uso de solo 3 GDL ........................ 39
Figura 24. Caja negra del diseño mecatrónicos ......................................................................... 40
Figura 25. Caja de cristal del diseño mecatrónicos ................................................................... 41
Figura 26. Ubicación de los ejes coordenados del brazo robótico ............................................ 44
Figura 27. Ubicación de los q1, q2 y q3 en configuración codo arriba ..................................... 47

INGENIERÍA MECATRÓNICA v
UNIVERSIDAD NACIONAL DE TRUJILLO
Figura 28. Ubicación del q2 y q3 en configuración codo arriba ............................................... 47
Figura 29. Ubicación del q2 y q3 en configuración codo abajo ................................................ 49
Figura 30. Diagrama de flujo del proceso de obtención de la matriz Jacobiana de velocidades
................................................................................................................................................... 52
Figura 31. Determinación de las masas y tensores de inercia de cada eslabón del brazo
robótico ...................................................................................................................................... 57
Figura 32. Cámara web Logitech C120 empleada para el reconocimiento de cilindros ........... 58
Figura 33. Servo motor utilizado en la pinza del brazo manipulador........................................ 59
Figura 34. Servomotor utilizado en los eslabones del brazo manipulador. ............................... 59
Figura 35. Tarjeta de potencia utilizada para la alimentación de los servomotores. ................. 60
Figura 36. Tarjeta Arduino Uno utilizada para el nexo del brazo manipulador robótico con el
software Matlab. ........................................................................................................................ 60
Figura 37. Espacio de trabajo en el plano XYZ ........................................................................ 61
Figura 38. Espacio de trabajo en el plano YZ ........................................................................... 61
Figura 39. Espacio de trabajo en el plano XY ........................................................................... 62
Figura 40. Zona graficada del área de trabajo ........................................................................... 62
Figura 41. Vectores de posición a trabajar referidos a puntos clave 𝑟𝑅𝐶, 𝑟𝐶𝑂 𝑦 𝑟𝑅𝑂 ............. 63
Figura 42. Vectores de posición obtenidos desde el sistema base 𝑋𝐹 y 𝑌𝐹 de la cámara al
objeto. ........................................................................................................................................ 63
Figura 43. Obtención de distancias verticales y horizontales en pixeles de la imagen(a).
Calibración de la relación de distancia vertical en pixeles a metros. (b)Calibración de la
relación de distancia horizontales en pixeles a metros. ............................................................. 64
Figura 44. Trayectoria general del Manipulador ....................................................................... 66
Figura 45. Trayectorias 1-2 para q1, q2 y q3 del Manipulador ................................................. 73
Figura 46. Trayectorias 3-4 para q1, q2 y q3 del Manipulador ................................................. 73
Figura 47. Trayectorias 3-4 para q1, q2 y q3 del Manipulador ................................................. 74

INGENIERÍA MECATRÓNICA vi
UNIVERSIDAD NACIONAL DE TRUJILLO

ÍNDICE DE TABLAS

Tabla 1. Clasificación de los robots según su generación ........................................................... 7


Tabla 2. Parámetros de polaridad .............................................................................................. 33
Tabla 3. Carta de comparación por pares .................................................................................. 37
Tabla 4. Evaluación de las opciones de robots en base a las características priorizadas .......... 39
Tabla 5. Matriz morfológica para evaluar distintas opciones de solución ................................ 42
Tabla 6. Criterios de selección para conceptos de solución ...................................................... 43
Tabla 7. Parámetros de Denavit-Hartenberg del brazo robótico ............................................... 45
Tabla 8. Valores de masas y tensores de inercia del brazo robótico ......................................... 57

INGENIERÍA MECATRÓNICA vii


UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 1:

Introducción

Realidad Problemática:

Actualmente, los robots industriales son objeto de numerosas investigaciones y avances


tecnológicos debido a su alta demanda en cuanto a velocidad y precisión de movimiento para la
realización de tareas específicas. (Barrientos, Peñín, Balaguer, & Aracil, 2007). Según la
Federación Internacional de Robótica, ha habido un considerable incremento en el número de
robots aplicados a la industria; en el 2017 el número se incrementó a 381000 unidades, lo cual
significó un aumento del 30% en comparación con el año anterior, este número volvió a
incrementarse en el 2018 a 421000 unidades, viéndose incrementado un 10% en comparación
con el 2017 y se estima que para este 2019 se eleve a aproximadamente a 484000 unidades.
(IRF, 2018)

De estos, el brazo o manipulador robótico es el más empleado en las industrias de producción,


es por ello que muchas empresas pioneras en este rubro, tales como: KUKA Robotics, ABB
Robotics, Yaskawa Electric Corporation, etc. anualmente realizan nuevos diseños y prototipos
de brazos robóticos para trabajos mucho más específicos. (Mahanta, Deepak, Dileep, Biswal, &
Pattanayak, 2019). En consecuencia, el proceso que conlleva desarrollar prototipos óptimos y
eficientes se ven directamente relacionado con un buen modelado cinemático y dinámico.
(Siciliano, Sciavicco, Villani, & Oriolo, 2008)

Para que un manipulador realice alguna tarea determinada, es necesario que se le realice su
modelado tanto cinemático como dinámico y en base a esto realizar su sistema de control y
planificación de trayectorias. La cinemática del robot estudia el movimiento del mismo con
respecto a un sistema de referencia sin considerar las fuerzas que intervienen, mientras que la
dinámica se ocupa de la relación entre las fuerzas que actúan sobre un cuerpo y el movimiento
que en él se origina. (Saha, 2010)

Entre las diversas aplicaciones que se les da a los brazos robóticos, encontramos a la
manipulación de objetos, servicios de soldadura, asistente quirúrgico, etc. Una aplicación en

INGENIERÍA MECATRÓNICA 1
UNIVERSIDAD NACIONAL DE TRUJILLO
particular es el ordenamiento de objetos en una matriz o paletización, el cual es muy frecuente
en las industrias de producción y sector agroindustrial, por lo que, es una buena opción de
proyecto de curso en donde aplicar el fundamento teórico, complementado con la metodología
de diseño mecatrónico.

Frente a este entorno, se reconoce que una de las aplicaciones más comunes en el campo de la
robótica industrial es el proceso de ordenamiento de objetos o paletización mediante un
manipulador robótico, por lo que, desarrollar su modelado permitirá aplicar la teoría adquirida
a una de las aplicaciones más comunes en el sector industrial, además que abre campo para
futuros desarrollos en aplicaciones más complicadas.

Objetivos:

General:

Diseñar e implementar una solución robótica para el ordenamiento de cilindros.

Específicos:

 Desarrollar el diseño conceptual y definir una solución para la necesidad planteada.


 Realizar el diseño del robot manipulador en un software de CAD.
 Desarrollar el modelamiento cinemático de un robot manipulador para el ordenamiento
de objetos.
 Desarrollar el modelamiento estático de un robot manipulador para el ordenamiento de
objetos.
 Desarrollar el modelamiento dinámico de un robot manipulador para el ordenamiento de
objetos.
 Implementar la estructura mecánica en donde se realice el ordenamiento de cilindros
 Generar las trayectorias del robot para ubicar los cilindros en la matriz.

INGENIERÍA MECATRÓNICA 2
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 2:

Antecedentes

Soto (2015), realizó la tesis de pre-grado: “Brazo robótico de 5GDL con sistema de control
modificable por el usuario para fines de investigación en ingeniería robótica”, en donde
desarrolla el modelado cinemático y dinámico en un brazo robótico de 5 GDL. En el modelo
cinemático, el autor emplea el algoritmo de Denavit – Hartenberg para la cinemática directa y
el método geométrico para la cinemática inversa. Por otro lado, emplea la formulación de Euler
– Lagrange para obtener el modelo dinámico, sin embargo, el autor trabaja con un sistema de
control modificable por el usuario con fines educacionales y de investigación.

García (2015), realizó la tesis de pre-grado: “Diseño, construcción y control de un robot


manipulador de 3 grados de libertad de bajo coste para el desarrollo de un manipulador móvil”,
el autor plantea el desarrollo del modelado cinemático para un manipulador de 3 GDL. Primero,
realiza el diseño de su manipulador robótico mediante un software de diseño CAD, una vez que
define sus parámetros estructurales y dimensiones procede a obtener el modelo cinemático. El
autor emplea el algoritmo de Denavit – Hartenberg para la determinación de la cinemática
directa, mientras que, por otro lado, emplea el método geométrico para resolver la cinemática
inversa.

Andeuza & Iñaki, relizaron el paper: “Diseño de un manipulador robótico con tres grados de
libertad para fines educativos”, en donde plantean los aspectos principales de modelado para un
brazo robótico de 3 GDL. Los autores parten describiendo al prototipo, su diseño estructural y
dimensiones; luego, plantean el modelado cinemático directo resolviéndolo con el Algoritmo
de Denavit – Hartenberg y empleando el método geométrico para resolver la cinemática inversa.
Finalmente, obtienen el modelo dinámico del brazo robótico mediante la formulación de
Newton – Euler.

INGENIERÍA MECATRÓNICA 3
UNIVERSIDAD NACIONAL DE TRUJILLO

García Luna y Morales Diaz, en el paper “Towards an artificial vision-robotic system for tomato
identification” proponen el diseño de un robot con 5 GDL junto con el procesamiento de
imágenes de esferas rojas que emulan ser tomates para poder obtener las posiciones cartesianas.
El diseño comienza con el análisis de la cinemática directa e inversa del robot, obteniendo las
matrices de transformación homogénea, seguidamente se analiza la adquisición de imágenes
que se hace con una cámara RGB e Infrarrojo y escalando los pixeles en un espacio
tridimensional, obteniendo el diseño completo de un seleccionador de objetos esféricos rojos.
(Luna & Díaz, 2016)

Michael y John, en el paper titulado “Automatic visual guidance of a forklift engaging a pallet”
realizan el diseño de un robot de 3 GDL para el paletizado implementando un sistema de
direccionamiento para una carretilla elevadora eléctrica donde el procesamiento de imagen se
basa en encontrar distancias de los puntos extremos y medio de los palet para posicionando la
carretilla a la posición deseada por medio de un generador de trayectoria de quinto orden, para
que siga el montacargas dicha trayectoria y se alineará el montacargas correctamente para el
acoplamiento de palés. Los resultados fueron notablemente alentadores dando un apoyo para
este trabajo dando métodos de análisis de posicionamiento de objetos desde pixeles a
coordenadas reales, hasta el uso de trayectorias de quinto orden. (Seelinger & Yoder, 2006)

INGENIERÍA MECATRÓNICA 4
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 3:
Marco Teórico

3.1.ROBÓTICA:

La robótica está experimentando en la actualidad una notoria ampliación de sus campos de


actuación. Saturadas en cierta medida las aplicaciones del robot en talleres y líneas de
fabricación, los robots están tomando posiciones en aplicaciones fuera del taller, caracterizadas
fundamentalmente por la falta de estandarización del producto y del proceso y la no
estructuración del entorno.

Buena parte de las definiciones y clasificaciones de robots existentes responde al robot


ampliamente utilizando hasta la fecha, destinado a la fabricación flexible de series medidas y
que se conoce como robot industrial o robot de producción. Frente a éstos, los robots especiales,
también denominados robots de servicio, están aún en un estado de desarrollo incipiente, aunque
es previsible un considerable desarrollo de los mismos. Las definiciones y generaciones aquí
presentadas responden fundamentalmente al robot industrial.

3.1.1. DEFINICIÓN DE ROBOT:

Existen ciertas dificultades a la hora de establecer una definición formal de lo que es un robot
industrial. La primera de ellas surge de la diferencia conceptual entre el mercado japonés y el
euro-americano de lo que es un robot y lo que es un manipulador. Así, mientras que para los
japoneses un robot industrial es cualquier dispositivo mecánico dotado de articulaciones móviles
destinado a la manipulación, el mercado occidental es más restringido, exigiendo una mayor
complejidad, sobre todo en lo relativo al control.
En segundo lugar, y centrándose ya en el concepto occidental, aunque existe una idea común
acerca de lo que es un robot industrial no es fácil ponerse de acuerdo a la hora de establecer
diferentes actualizaciones de su definición.

INGENIERÍA MECATRÓNICA 5
UNIVERSIDAD NACIONAL DE TRUJILLO
La definición más comúnmente usada aceptada posiblemente de la de la Asociación de
Industrias Robóticas (RIA), según la cual:
Un robot industrial es un manipulador multifuncional reprogramable, capaz de mover
materias, piezas, herramientas o dispositivos especiales, según trayectorias variables,
programadas para realizar tareas diversas.
Esta definición, ligeramente modificada, ha sido adoptada por la Organización Internacional de
Estándares (ISO) que define al robot industrial como:
Manipulador multifuncional reprogramable con varios grados de libertad, capaz de
manipular materias, piezas, herramientas o dispositivos especiales según trayectorias
variables programadas para realizar tareas diversas.
Se incluye en esta definición la necesidad de que el robot tenga varios grados de libertad. Una
definición más completa es la establecida por la Asociación Francesa de Normalización
(AFNOR) que define primero el manipulador y, basándose en dicha definición el robot:
Manipulador: mecanismo formado generalmente por elementos en serie, articulados
entre sí, destinado al agarre y desplazamiento de objetos. Es multifuncional y puede ser
gobernado directamente por un operador humano o mediante un dispositivo lógico.
Robot: manipulador automático servo controlado, reprogramable, polivalente, capas de
posicionar y orientar piezas, útiles o dispositivos especiales, siguiendo trayectorias
variables reprogramables, para la ejecución de tareas variadas. Normalmente tiene la
forma de uno o varios brazos terminados en una muñeca. Su unidad de control incluye
un dispositivo de memoria y ocasionalmente de percepción del entorno. Normalmente
su uso es el de realizar una tarea de manera cíclica, pudiéndose adaptar a otra sin cambios
permanentes en su material.
Por último, la Federación Internacional de Robótica (IFR)en su informe técnico ISO/TR 83737
(setiembre 1988) distingue entre robot industrial de manipulación y otros robots:
Por robot industrial de manipulación de entiende a una máquina de manipulación automática,
reprogramable y multifuncional con tres o más ejes que puede posicionar y orientar materias,
piezas, herramientas o dispositivos especiales para la ejecución de trabajos diversos en las
diferentes etapas de la producción, ya sea en una posición fija o en movimiento.

INGENIERÍA MECATRÓNICA 6
UNIVERSIDAD NACIONAL DE TRUJILLO

3.1.2. CLASIFICACION DEL ROBOT:

3.1.2.1.Según su generación:

Tabla 1. Clasificación de los robots según su generación

Repite la tarea programada secuencialmente


1era Generación No toma en cuenta las posibles alteraciones de su
entorno
Adquiere información limitada de su entorno y actúa
en consecuencia.
2da Generación
Puede localizar, clasificar (visión) y detectar esfuerzos
y adaptar sus movimientos en consecuencia.
Su programación se realiza mediante el empleo de un
lenguaje natural.
3era Generación
Posee capacidad para la planificación automática de
tareas.

Fuente: Barrientos et al., 2007

En esta definición se debe entender que la reprogramabilidad y multifunción se consigue sin


modificaciones físicas del robot.
Común a todas las definiciones anteriores es la aceptación del robot industrial como un brazo
mecánico con capacidad de manipulación y que incorpora un control más o menos complejo.
Un sistema robotizado, en cambio, es un concepto más amplio. Engloba todos aquellos
dispositivos que realizan tareas de forma automática en sustitución de un ser humano y que
pueden incorporar o no a uno o varios robots, siendo esto último lo más frecuente.

3.1.2.2.Según su número de ejes:

Esta característica es aplicable a los robots o telerobot con cadena cinemática (es decir, sería
aplicable a los robots manipuladores, pero no lo sería, por ejemplo, a los robots móviles). Se
entiende por eje cada uno de los movimientos independientes con que está dotado el robot.
Puesto que de acuerdo a la definición ISO el robot manipulador industrial debe tener al menos
3 ejes y extendiendo esta condición a los robots de servicio manipuladores, se podrán encontrar
robots de cualquier número de ejes superior o igual a 3. En la práctica, la mayor parte de los

INGENIERÍA MECATRÓNICA 7
UNIVERSIDAD NACIONAL DE TRUJILLO
robots tienen 6 ejes, seguidos por los de 4. Los robots con más de 6 ejes son poco frecuentes,
estando justificado este número para aumentar la capacidad de maniobra del robot y siendo en
muchas ocasiones telerobots.

3.1.2.3.Según el tipo de control:

La IFR distingue entre cuatro tipos de robots:


 Robot secuencial
 Robot de trayectoria controlable
 Robot adaptativo
 Robot telemanipulado

Esta clasificación coincide en gran medida con lo establecida por la Asociación Francesa de
Robótica industrial (AFRI).

3.1.3. HERRAMIENTAS MATEMÁTICAS PARA LA LOCALIZACIÓN ESPACIAL:


Para localizar un cuerpo rígido en el espacio es necesario contar con una herramienta que
permita la localización espacial de sus puntos. (Barrientos, 1997)

 Coordenadas Cartesianas:
Ejes perpendiculares entre sí con un origen definido:

Figura 1. Sistemas cartesianos de dos y tres dimensiones


Fuente: Barrientos, 1997

INGENIERÍA MECATRÓNICA 8
UNIVERSIDAD NACIONAL DE TRUJILLO

 Coordenadas Polares:

Figura 2. Sistema de coordenadas polares


Fuente: Barrientos, 1997
Donde:

r: distancia de origen hasta el extremo de P.

ϴ: ángulo que forma P con el eje OX.

 Coordenadas Cilíndricas:

Figura 3. Sistema de coordenadas cilíndricas


Fuente: Barrientos, 1997
Donde:
r: distancia del origen al extremo de la proyección del vector P en OXY.
ϴ: ángulo formado r y el eje OX.
z: distancia en el eje OZ al extremo del vector P.

INGENIERÍA MECATRÓNICA 9
UNIVERSIDAD NACIONAL DE TRUJILLO

 Coordenadas Esféricas:

Figura 4. Sistemas de coordenadas esféricas


Fuente: Barrientos, 1997
Donde:
r: distancia del origen al extremo del vector P.
ϴ: ángulo formado por la proyección del vector P en OXY al eje OX.
φ: ángulo formado por el vector P y el eje OZ.
3.1.3.1.Solo orientación:
Para el caso de un sólido como es el caso de un robot no es suficiente con especificar
cuál debe ser la posición de su extremo, sino que también es necesario indicar su
orientación. (Barrientos, 1997)

3.1.3.1.1. Matriz de rotación:


Se tienen dos sistemas de referencia inicialmente coincidentes. El sistema de
referencia fijo OXY y el sistema de referencia móvil OUV.

Figura 5. Sistema de referencia fijo OXY y móvil OUV

INGENIERÍA MECATRÓNICA 10
UNIVERSIDAD NACIONAL DE TRUJILLO
Fuente: Barrientos, 1997
Un vector P puede ser representados en ambos sistemas de referencia:
𝑃𝑥 𝑖̂𝑥
̅̅̅̅
𝑃𝑥𝑦 = [ ]
𝑃𝑦 𝑗̂𝑦
𝑃 𝑖̂
𝑃𝑢𝑣 = [ 𝑢 𝑢 ]
̅̅̅̅
𝑃𝑣 𝑗̂𝑣
𝑃𝑥 𝑃
[𝑃 ] = 𝑅 [ 𝑢 ]
𝑦 𝑃𝑣
Donde:
𝑖̂𝑥 𝑖̂𝑢 𝑖̂𝑥 𝑗̂𝑣
𝑅=[ ]
𝑖̂𝑦 𝑖̂𝑢 𝑖̂𝑦 𝑗̂𝑣
Esta es llamada matriz de rotación que define la orientación del sistema OUV
con respecto al sistema OXY.
Es una matriz ortonormal, talque:
𝑅 −1 = 𝑅 𝑇
En un espacio tridimensional, se tienen dos sistemas de referencia. El sistema de
referencia fijo OXYZ y el móvil OUVW; en cada uno de estos un vector P puede
ser representado de la siguiente forma.
𝑃𝑥 𝑖̂𝑥
̅̅̅̅̅
𝑃𝑥𝑦𝑧 = [ 𝑃𝑦 𝑗̂𝑦 ]
̂𝑧
𝑃𝑧 𝑘
𝑃𝑢 𝑖̂𝑢
̅̅̅̅̅̅
𝑃𝑢𝑣𝑤 = [ 𝑃𝑣 𝑗̂𝑣 ]
𝑃𝑤 𝑘̂ 𝑤

𝑃𝑥 𝑃𝑢
[𝑃𝑦 ] = 𝑅 [ 𝑃𝑣 ]
𝑃𝑧 𝑃𝑤
Donde:
𝑖̂𝑥 𝑖̂𝑢 𝑖̂𝑥 𝑗̂𝑣 𝑖̂𝑥 𝑘̂
𝑤
𝑅 = [ 𝑗̂𝑦 𝑖̂𝑢 𝑗̂𝑦 𝑗̂𝑣 𝑗̂𝑦 𝑘̂
𝑤]
̂𝑧 𝑖̂𝑢
𝑘 ̂𝑧 𝑗̂𝑣
𝑘 ̂𝑧 𝑘̂
𝑘 𝑤

Esta es la matriz de rotación que define la orientación del sistema OUVW con
respecto al sistema OXYZ; es una matriz ortonormal.

INGENIERÍA MECATRÓNICA 11
UNIVERSIDAD NACIONAL DE TRUJILLO
Representa la orientación de sistemas girados únicamente sobre uno de los ejes
principales del sistema de referencia.
3.1.3.1.2. Ángulos de Euler:
Hace uso de tres componentes para representar la orientación en un espacio
tridimensional, existen 24 posibilidades de las cuales 3 son las más usadas.
(Barrientos, 1997)
 ZXZ:

Figura 6. Ángulos de Euler ZXZ


Fuente: Barrientos, 1997
 Girar el sistema OUVW un ángulo φ en OZ
 Girar el sistema OU’V’W’ un ángulo ϴ en OU’
 Girar el sistema OU’’V’’W’’ un ángulo Ψ en OW’’

 ZYZ

Figura 7. Ángulos de Euler ZYZ

INGENIERÍA MECATRÓNICA 12
UNIVERSIDAD NACIONAL DE TRUJILLO
Fuente: Barrientos, 1997
 Girar el sistema OUVW un ángulo φ en OZ
 Girar el sistema OU’V’W’ un ángulo ϴ en OV’
 Girar el sistema OU’’V’’W’’ un ángulo Ψ en OW’’

 Roll, Pich and Yaw

Figura 8. Ángulos de Euler Roll, Pich and Yaw


Fuente: Barrientos, 1997
 Girar el sistema OUVW un ángulo Ψ en OX
 Girar el sistema OUVW un ángulo ϴ en OY
 Girar el sistema OUVW un ángulo φ en OZ
3.1.3.2.Orientación y posición:
3.1.3.2.1. Matriz de transformación homogénea:
Un espacio de n-dimensiones se encuentra representado en coordenadas
homogéneas por n+1 dimensiones. (Barrientos, 1997)
La matriz de transformación homogénea T es una matriz de 4x4 que representa la
transformación de un vector de coordenadas homogéneas de un sistema
coordenado a otro.
𝑅3𝑥3 𝑃3𝑥1 𝑅𝑜𝑡𝑎𝑐𝑖ó𝑛 𝑇𝑟𝑎𝑠𝑙𝑎𝑐𝑖ó𝑛
𝑇=[ ]=[ ]
𝑓1𝑥3 𝑊1𝑥1 𝑃𝑒𝑟𝑠𝑝𝑒𝑐𝑡𝑖𝑣𝑎 𝐸𝑠𝑐𝑎𝑙𝑎𝑚𝑖𝑒𝑛𝑡𝑜
En robótica la componente de perspectiva y escalamiento son un vector nulo y la
unidad respectivamente.
Composición de matrices de transformación homogénea:

INGENIERÍA MECATRÓNICA 13
UNIVERSIDAD NACIONAL DE TRUJILLO
 Pre multiplicación: se aplica cuando las rotaciones y traslaciones se dan
respecto a un sistema fijo.
 Post multiplicación: se aplica cuando las rotaciones y traslaciones se dan
respecto a un sistema móvil.

3.1.4. CINEMÁTICA DEL ROBOT:


La cinemática del robot estudia el movimiento del mismo con respecto a un sistema de
referencia sin considerar las fuerzas que intervienen. Así, la cinemática se interesa por la
descripción analítica del movimiento espacial del robot como una función del tiempo, y en
particular por las relaciones entre la posición y la orientación del extremo final del robot con los
valores que toman sus coordenadas articulares.

Existen dos problemas fundamentales a resolver en la cinemática del robot (figura 9); el primero
de ellos se conoce como el problema cinemático directo, y consiste en determinar cuál es la
posición y orientación del extremo final del robot, con respecto a un sistema de coordenadas
que se toma como referencia, conocidos los valores de las articulaciones y los parámetros
geométricos de los elementos del robot; el segundo, denominado problema cinemático inverso,
resuelve la configuración que debe adoptar el robot para una posición y orientación del extremo
conocidas.

Figura 9. Diagrama de relación entre cinemática directa e inversa


Fuente: Barrientos (2010)

INGENIERÍA MECATRÓNICA 14
UNIVERSIDAD NACIONAL DE TRUJILLO
Por otra parte, la cinemática del robot trata también de encontrar las relaciones entre las
velocidades del movimiento de las articulaciones y las del extremo. Esta relación viene dada
por el modelo diferencial expresado mediante la matriz Jacobiana.

3.1.4.1.Cinemática directa:
La resolución del problema cinemático directo permite conocer cuál es la posición y
orientación que adopta el extremo del robot 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
correspondientes sensores por la unidad de control del robot, el modelo cinemático directo será
utilizado por éste, entre otros fines, para presentar al usuario información relativa a la
localización del extremo del robot.
Así, si se han escogido coordenadas cartesianas y ángulos de Euler para representar la posición
y orientación del extremo de un robot de seis grados de libertad, la solución al problema
cinemático directo vendrá dada por las relaciones:

La obtención del modelo cinemático directo puede ser abordado mediante dos enfoques
diferentes denominados métodos geométricos y métodos basados en cambios de sistemas de
referencia. Para nuestro caso, estudiaremos el segundo método, ya que el primero queda
restringido para robots de pocos grados de libertad.

3.1.4.2.Cinemática inversa:
El modelado de cinemática inversa nos permite 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, como se visualiza en la figura 4. (Barrientos et al., 2007)

INGENIERÍA MECATRÓNICA 15
UNIVERSIDAD NACIONAL DE TRUJILLO
Para obtener las expresiones matemáticas de cada coordenada articular, existen varios métodos
para su desarrollo, clasificándose en métodos cerrados y métodos de solución numérica, en
donde nosotros solo ahondaremos en métodos de solución cerrada.
En los métodos de solución cerrada encontramos: método geométrico, método algebraico y
desacoplo cinemático.

3.1.4.2.1. Método geométrico:


Es adecuado para robots de pocos grados de libertad o para el caso en el que se consideran los
primeros grados de libertad dedicados a posicionar el extremo.
Este procedimiento se basa en encontrar un número suficiente de relaciones geométricas en las
que intervendrán las coordenadas del extremo del robot, sus coordenadas articulares y las
dimensiones físicas de sus elementos. (Barrientos et al., 2007)

3.1.4.2.2. Método algebraico:


Se obtiene el modelo cinemático inverso del robot a partir del conocimiento de su modelo
directo. Conociendo las relaciones expresadas en el valor de posición y orientación del extremo
del robot en función de sus coordenadas articulares, podemos manipular algebraicamente estas
para poder obtener las relaciones inversas correspondientes. (Barrientos et al., 2007)

3.1.4.3.Modelo diferencial:
En robótica es de interés encontrar la relación a entre las coordenadas articulares y la posición
espacial del extremo operativo y, además:
 La relación entre las velocidades articulares y las velocidades del extremo operativo, esto
es:
𝑣
[ ] ⇔ 𝑞𝑖̇
𝑤
 La relación entre las fuerzas aplicadas por el extremo operativo del robot en el entorno con
los pares o fuerzas articulares, es decir:
𝑓
[ ] ⇔ 𝜏𝑖
𝑛
Estas dos relaciones están basadas en un operador lineal matricial denominado Jacobiano del
Robot.

INGENIERÍA MECATRÓNICA 16
UNIVERSIDAD NACIONAL DE TRUJILLO
Definiciones y conceptos matemáticos
El espacio de trabajo del robot se define como la región descrita por el origen del sistema de
referencia del efector final cuando todas las articulaciones del robot realizan todos los posibles
movimientos.
Suele distinguirse entre:
 Espacio de Trabajo Alcanzable
 Espacio de Trabajo Diestro
Se define como Espacio de Trabajo Diestro al volumen que el origen del sistema de referencia
del efector final genera cuando realiza diferentes orientaciones En otras palabras en cada punto
del espacio de trabajo diestro, el efector final puede orientarse arbitrariamente.
Se define como Espacio de Trabajo Alcanzable es el volumen de espacio que puede alcanzar
el robot en por lo menos una orientación.
El espacio de trabajo se caracteriza por la geometría manipulador y los límites mecánicos de
las articulaciones. El espacio de trabajo del robot sin considerar la muñeca viene dado por el
fabricante. Para un manipulador de n‐DOF, el espacio de trabajo alcanzable es el lugar
geométrico de los puntos que se pueden lograr a través de la solución de la
cinemática directa del robot.
𝑝𝑒 = 𝑝𝑒 (𝑞) 𝑞𝑖 𝑚𝑖𝑛 ≤ 𝑞𝑖 ≤ 𝑞𝑖 𝑚𝑎𝑥
Posición variable en el tiempo:
Velocidad lineal de un punto: diferenciación en el tiempo del vector asociado

Figura 10. Velocidad lineal


Fuente: Elaboración propia

𝑑 𝐵 𝑄 𝐵 (𝑡 + ∆𝑡) − 𝑄 𝐵 (𝑡)
𝐵
𝑄𝑣 = 𝑄 = lim ( ) = 𝑄 𝐵 (𝑥̇ ,̇ 𝑦, ̇ 𝑧̇ )
𝑑𝑡 ∆𝑡→0 ∆𝑡

INGENIERÍA MECATRÓNICA 17
UNIVERSIDAD NACIONAL DE TRUJILLO
Representa la velocidad relativa de Q respecto de {𝑆𝐴 } en términos de {𝑆𝐵 }
𝐴 𝑑 𝐵 𝐴 𝐴 𝐵
( 𝑄𝐵𝑣 ) = ( 𝑄 ) = 𝐵𝑅 𝑄𝑣
𝑑𝑡
Además de desplazarse, también gira en el aire. Esto lo representaremos por medio del vector
ω: vector de velocidad angular.
𝜔 = (𝜔𝑥 , 𝜔𝑦 , 𝜔𝑧 )
 La dirección del vector ω representa el eje respecto del cual el objeto gira.
 La magnitud refleja el ritmo de este cambio.
La velocidad se puede expresar mediante un vector de velocidad espacial.
𝑥̇
𝑦̇
𝑣 𝑧̇
𝜗=[ ]=
𝜔 𝜔𝑥
𝜔𝑦
[ 𝜔𝑧 ]
Un robot tiene asociado en cada instante una velocidad espacial del extremo o de cualquier
eslabón definida por la velocidad espacial del correspondiente sistema de referencia. Vamos a
ver el efecto que girar tiene sobre la velocidad de un punto Q. Entonces la velocidad lineal de
un punto Q asociado a B será:
𝐴
𝑄𝑣 = 𝐵𝐴𝜔𝑥𝑄 𝐴
Ambos vectores respecto del mismo sistema
𝐴
𝑄𝑣 = 𝐵𝐴𝜔𝑥 𝐵𝐴𝑅 𝑄 𝐵
Respecto de {𝑆𝐴 } el movimiento queda descrito por el vector velocidad espacial. La velocidad
instantánea de un punto Q de la superficie será, por tanto:
𝐴
𝑄𝑣 = 𝐵𝐴𝑣 + 𝐵𝐴𝜔𝑥 𝐵𝐴𝑅 𝑄 𝐵
La matriz Jacobiana:
La cinemática diferencial relaciona las velocidades articulares con la velocidad angular y lineal
del extremo operativo o efector final. En robótica se habla de matriz Jacobiana siempre que se
trate de una matriz que transforma de un sistema de velocidades a otro. Por defecto se entiende
la Jacobiana como la Jacobiana Geométrica. Esta nos relaciona las velocidades articulares con
la velocidad espacial. Si el cálculo de la matriz Jacobiana se realiza a través de la diferenciación
del modelo cinemático directo, se hablará entonces de la Jacobiana Analítica.

INGENIERÍA MECATRÓNICA 18
UNIVERSIDAD NACIONAL DE TRUJILLO
La matriz Jacobiana de una función vectorial multi variable es el equivalente a la operación
derivar de las funciones de una variable. Sea 𝐹: 𝑅 𝑛 → 𝑅 𝑚 una función que va del espacio n‐
dimensional a otro espacio m‐ dimensional, y que por tanto puede ser representada por un
conjunto de m funciones multi variables 𝐹: 𝑅 𝑛 → 𝑅 𝑚 tal que si
𝑥 = (𝑥1 , 𝑥2 , 𝑥3 , … , 𝑥𝑛 ) ∈ 𝑅 𝑛
𝑦 = (𝑦1 , 𝑦2 , 𝑦3 , … , 𝑦𝑚 ) ∈ 𝑅 𝑚
𝑦 = 𝐹(𝑥) → (𝑦1 , 𝑦2 , 𝑦3 , … , 𝑦𝑚 ) = (𝐹1 (𝑥), 𝐹2 (𝑥), … , 𝐹𝑚 (𝑥))
Entonces si las 𝐹𝑖 son diferenciables, la matriz Jacobiana de F es:
𝜕𝐹1 (𝑥) 𝜕𝐹1 (𝑥) 𝜕𝐹1 (𝑥)

𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛
𝜕𝐹2 (𝑥) 𝜕𝐹2 (𝑥) 𝜕𝐹2 (𝑥)
𝐽𝐹(𝑥) = 𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛
⋮ ⋱ ⋮
𝜕𝐹𝑚 (𝑥) 𝜕𝐹𝑚 (𝑥) 𝜕𝐹𝑚 (𝑥)

[ 𝜕𝑥1 𝜕𝑥2 𝜕𝑥𝑛 ]
Al igual que la derivada, una de las aplicaciones más directas de la Jacobiana es la
aproximación lineal de la función F en torno a un punto X0:
𝐹(𝑥) ≅ 𝐹(𝑥0 ) + 𝐽𝐹 (𝑥0 )(𝑥 − 𝑥0 )
𝐹(𝑥) − 𝐹(𝑥0 ) = ∆𝐹(𝑥) = ∆𝑦 ≅ 𝐽𝐹 (𝑥0 )∆𝑥
Jacobiana Geométrica
𝑞1̇
𝑉 𝐽 (𝑞) 𝑞2̇
[ 𝑛]=[ 𝑣 ][ ]
𝑊𝑛 𝐽𝑤 (𝑞) ⋮
𝑞𝑛̇
Donde:
 𝐽𝑣 (𝑞) Jacobiano de velocidad lineal
 𝐽𝑤 (𝑞) Jacobiano de velocidad angular
Jacobiano de velocidad angular:
𝑞1̇
𝑞̇
𝑊𝑛 = 𝐽𝑤 (𝑞) [ 2 ]

𝑞𝑛̇
𝑜
𝑛𝑤 = 𝑜1𝑤 + 02𝑤 + 03𝑤 + ⋯ + 𝑛0𝑤
𝑜
𝑛𝑤 = 𝑜1𝑤 + 01𝑅 12𝑤 + 02𝑅 23𝑤 + 03𝑅 34𝑤 + ⋯ + 𝑛−10𝑅 𝑛−1𝑛𝑤
𝑜
𝑛𝑤 = 𝑞1̇ 𝑘̂ + 02𝑅 𝑞2̇ 𝑘̂ + 03𝑅 𝑞3̇ 𝑘̂ + ⋯ + 𝑛−10𝑅 𝑞2̇ 𝑘̂

INGENIERÍA MECATRÓNICA 19
UNIVERSIDAD NACIONAL DE TRUJILLO
𝑜
𝑛𝑤 = 𝑞1̇ 𝑘̂ + 02𝑅 𝑞2̇ 𝑘̂ + 03𝑅 𝑞3̇ 𝑘̂ + ⋯ + 𝑛−10𝑅 𝑞2̇ 𝑘̂
𝑜
𝑛𝑤 = 𝑞1̇ 𝑍0 + 𝑞2̇ 01𝑍 + 𝑞3̇ 02𝑍 + ⋯ + 𝑞𝑛̇ 𝑛−10𝑍
𝑜
𝑛𝑤 = 𝜀1 𝑞̇ 1 𝑍0 + 𝜀2 𝑞̇ 2 01𝑍 + 𝜀3 𝑞3̇ 02𝑍 + ⋯ + 𝜀𝑛 𝑞𝑛̇ 𝑛−10𝑍
1, 𝐴𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑐𝑖ó𝑛 𝑡𝑖𝑝𝑜 𝑟𝑒𝑣𝑜𝑙𝑢𝑡𝑎
𝜀𝑖 =
0, 𝐴𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑐𝑖ó𝑛 𝑡𝑖𝑝𝑜 𝑝𝑟𝑖𝑠𝑚𝑎𝑡𝑖𝑐𝑜
𝑞1̇
𝑞 ̇
𝑊𝑛 = [𝜀1 𝑍0 + 𝜀2 01𝑍 + 𝜀3 02𝑍 + ⋯ + 𝜀𝑛 𝑛−10𝑍] [ 2 ]

𝑞𝑛̇
0
𝑍0 = [0]
1
0
𝑖𝑍 = 𝑅(3; 1: 3)

Jacobiano de velocidad lineal:


𝑞1̇
0 𝑞 2̇
𝑛𝑉 = 𝐽𝑣 (𝑞) [ ⋮ ]

𝑞𝑛̇
0
𝑛𝑃 = 𝑅(4; 1: 3)

0
𝜕 𝑛0𝑃(𝑞1̇ 𝑞2̇ … 𝑞𝑛̇ )
𝑛𝑉 =
𝜕𝑡
0
𝜕 𝑛0𝑃 𝜕 𝑛0𝑃 𝜕 𝑛0𝑃 𝜕 𝑛0𝑃
𝑛𝑉 = 𝑞1̇ + 𝑞2̇ + 𝑞3̇ + ⋯ + 𝑞̇
𝜕𝑞1 𝜕𝑞2 𝜕𝑞3 𝜕𝑞𝑛 𝑛
𝑛
0
𝜕 𝑛0𝑃
𝑛𝑉 =∑ 𝑞̇
𝜕𝑞𝑖 𝑖
𝑖=1
𝑞1̇
𝜕 𝑛0𝑃 𝜕 𝑛0𝑃 𝜕 𝑛0𝑃 𝜕 𝑛0𝑃 𝑞2̇
𝑉𝑛 = [ + + + ⋯+ ][ ]
𝜕𝑞1 𝜕𝑞2 𝜕𝑞3 𝜕𝑞𝑛 ⋮
𝑞𝑛̇
Otro método para calcular la velocidad lineal
𝑟𝑂0 ,𝑂𝑛 = 𝑟𝑂0,𝑂𝑖−1 + 𝑟𝑂𝑖−1 ,𝑂𝑛
0
𝑖−1𝑟 + 𝑖−10𝑅 𝑖−1𝑛𝑟 = 𝑛0𝑟
𝑖−1 𝑖−1 𝑖−1
𝑛𝑉 = 𝑖 𝑊 𝑛𝑉
0 0 𝑖−1 𝑖−1
𝑛𝑉 = 𝑖−1𝑅( 𝑛𝑊𝑥 𝑛𝑟)
0
𝑛𝑉 = 𝑞𝑖̇ 𝑖−10𝑅 𝑘̂( 𝑛0𝑟 − 𝑖−10𝑟)

INGENIERÍA MECATRÓNICA 20
UNIVERSIDAD NACIONAL DE TRUJILLO
0
𝑛𝑉 = 𝑞𝑖̇ 𝑖−10𝑍( 𝑛0𝑟 − 𝑖−10𝑟)
𝑞1̇
𝑞̇
𝑉𝑛 = [ 00𝑍( 𝑛0𝑟 − 00𝑟) + 01𝑍( 𝑛0𝑟 − 01𝑟) + 02𝑍( 𝑛0𝑟 − 02𝑟) + ⋯ + 𝑛−10𝑍( 𝑛0𝑟 − 𝑛−10𝑟)] [ 2 ]

𝑞𝑛̇
3.1.5. ESTÁTICA DEL ROBOT:
En la estática, se busca la relación entre los pares de torsión/fuerzas, los momentos cartesianos
y las fuerzas aplicadas en el efector final. (Saha, 2010)
3.1.5.1.Balance de fuerzas y momentos:
En un manipulador robótico serial, cada eslabón se conecta a uno o dos eslabones por
medio de varias articulaciones. La figura N° 11 representa las fuerzas y momentos que
actúan sobre un eslabón típico i que se conecta con el eslabón i–1 mediante la
articulación i-1 y con el eslabón i+1 mediante la articulación i. Las fuerzas que actúan
sobre el eslabón i por el eslabón i–1 a través de la articulación i pueden ser reducidas a
una fuerza resultante fi-1,i y a un momento resultante ni-1,i alrededor del origen Oi del i-
ésimo sistema de coordenadas adjunta al eslabón (i–1). De manera parecida, las fuerzas
que actúan sobre el eslabón i+1 por el eslabón i en la articulación i pueden reducirse a
una fuerza resultante fi,i+1 y a un momento ni,i+1 alrededor del origen Oi del i-ésimo
sistema de coordenadas adjunto al i-ésimo eslabón. A continuación, se definen las
siguientes notaciones:

Figura 11. Fuerzas y momentos que actúan sobre el eslabón i.


Fuente: Saha, 2010
Donde:

INGENIERÍA MECATRÓNICA 21
UNIVERSIDAD NACIONAL DE TRUJILLO
𝑓 𝑖−1,𝑖 : Vector tridimensional de una fuerza resultante ejercida sobre el eslabón i por el
eslabón i–1 en Oi.
𝑛𝑖−1,𝑖 : Vector tridimensional de un momento resultante ejercido sobre el eslabón i por
el eslabón i–1 en Oi.
𝑓𝑖+1,𝑖 : Vector tridimensional de una fuerza resultante ejercida sobre el eslabón i por el
eslabón i+1 en Oi+1. Observe que 𝑓𝑖+1,𝑖 = −𝑓𝑖,𝑖+1 .
𝑛𝑖+1,𝑖 : Vector tridimensional de un momento resultante ejercido sobre el eslabón i por
el eslabón i+1 en Oi+1, de tal modo que 𝑛𝑖+1,𝑖 = 𝑛𝑖,𝑖+1.
g: Vector tridimensional de aceleración debido a la gravedad.
𝑟𝑖−1,𝑐𝑖 : Vector tridimensional que denota la posición del centro de masa del (i-1)-ésimo
eslabón Ci relativo al origen del i-ésimo sistema, es decir, Oi-1.
𝑟𝑖,𝑐𝑖 : Vector tridimensional que denota la posición del origen del i-ésimo sistema, es
decir, Oi relativo al centro de masa del eslabón i, Ci.
𝑟𝑖−1,𝑖 : Vector de posición tridimensional de Oi respecto a Oi-1.
Planteamos las ecuaciones de equilibrio estático para el eslabón i-ésimo. Hay tres
fuerzas que se ejercen sobre el eslabón i: 𝑓 𝑖−1,𝑖 , 𝑓𝑖+1,𝑖 (= – 𝑓𝑖,𝑖+1 ), y 𝑚𝑖 ∗g. La ecuación
de balance de fuerzas se escribe entonces como:
𝑓𝑖−1,𝑖 − 𝑓𝑖+1,𝑖 + 𝑚𝑖 𝑔 = 0
Despejando tenemos:
𝑓 𝑖−1,𝑖 = 𝑓𝑖+1,𝑖 − 𝑚𝑖 𝑔
Ahora considere el balance de momentos alrededor de Oi-1 en el eslabón i, es decir, el
punto donde el eslabón i – 1 se conecta al eslabón i. Hay dos momentos que actúan
sobre el eslabón i: 𝑛𝑖−1,𝑖 y 𝑛𝑖+1,𝑖 (= −𝑛𝑖,𝑖+1 ). Adicionalmente, las fuerzas
−𝑓𝑖+1,𝑖 𝑦 𝑚𝑖 𝑔 producen momentos alrededor de Oi-1. Al sumar estos momentos se
obtiene:
𝑛𝑖−1,𝑖 − 𝑛𝑖,𝑖+1 − 𝑟𝑖−1,𝑖 𝑋 𝑓𝑖,𝑖+1 + 𝑟𝑖−1,𝑐𝑖 𝑋𝑚𝑖 𝑔 = 0
Despejando tenemos:
𝑛𝑖−1,𝑖 = 𝑛𝑖,𝑖+1 − 𝑟𝑖−1,𝑐𝑖 𝑋 𝑚𝑖 𝑔 + 𝑟𝑖−1,𝑖 𝑋 𝑓𝑖,𝑖+1
Cuando un manipulador realiza una tarea determinada, como la inserción o el
rectificado, el efector final ejerce cierta fuerza y / o momento en su entorno. Por otro

INGENIERÍA MECATRÓNICA 22
UNIVERSIDAD NACIONAL DE TRUJILLO
lado, cuando un manipulador transporta un objeto, el peso del objeto se convierte en
una carga para el efector final.
3.1.5.2.Cálculo recursivo:

El método recursivo resuelve las fuerzas y los momentos que reaccionan en la


articulación de un eslabón, sin necesidad de resolver las ecuaciones anteriores,
simultáneamente. Observe que los vectores en las ecuaciones anteriores aún no se
expresan en algún sistema de coordenadas. Por otro lado, se puede expresarse de
manera conveniente al sistema (i-1)-ésimo estas ecuaciones mediante las matrices de
rotación halladas con los parámetros DH, lo que resulta: (Tsai, 1999)
𝑖−1
𝑓 𝑖−1,𝑖 =𝑖−1 𝑅𝑖 .𝑖 𝑓𝑖+1,𝑖 − 𝑚𝑖 .𝑖−1 𝑅0 .0 𝑔
𝑖−1
𝑛𝑖−1,𝑖 =𝑖−1 𝑅𝑖 .𝑖 𝑛𝑖,𝑖+1 − [𝑖−1 𝑅𝑖 .𝑖 𝑟𝑖−1,𝑐𝑖 𝑋 𝑚𝑖 .𝑖−1 𝑅𝑖 .𝑖 𝑔]
+ [𝑖−1 𝑅𝑖 .𝑖 𝑟𝑖−1,𝑖 𝑋 𝑖−1 𝑅𝑖 .𝑖 𝑓𝑖,𝑖+1 ]
Lo cual lo podemos generalizar para n eslabones, donde i=1,2,3, ...n.

3.1.6. DINÁMICA DEL ROBOT – FORMULACIÓN LAGRANGE - EULER:


El modelo dinámico de un robot puede derivarse de manera sistemática por medio del concepto
de coordenadas generalizadas y de una función escalar llamada Lagrangiano, que se define como
la diferencia entre la energía cinética y la energía potencial del sistema mecánico:

𝐿 =𝑇−𝑈

donde L denota la función lagrangiana, T y U son la energía total cinética y potencial del
sistema. Observe que la energía cinética depende tanto de la configuración, es decir, posición y
orientación, como de la velocidad de los eslabones de un sistema robótico, mientras que la
energía potencial depende únicamente de la configuración de los eslabones. Las ecuaciones de
movimiento de Euler-Lagrange se obtienen entonces por:

𝑑 𝜕𝐿 𝜕𝐿
( )− = ∅𝑖 , 𝑝𝑎𝑟𝑎 𝑖 = 1, … , 𝑛
𝑑𝑡 𝜕𝑞̇ 𝑖 𝜕𝑞̇ 𝑖

donde n es el número de coordenadas generalizadas independientes que se usan para definirla


configuración del sistema, y los 𝑞𝑖 y los ∅𝑖 son las coordenadas generalizadas y fuerzas
generalizadas debidas a las fuerzas aplicadas correspondientes a las coordenadas generalizadas,
respectivamente.

INGENIERÍA MECATRÓNICA 23
UNIVERSIDAD NACIONAL DE TRUJILLO
Antes de empezar con el cálculo de la energía es necesario tener en cuenta algunos conceptos
como:

3.1.6.1.Centro de masa de un cuerpo rígido:

El centro de masa con respecto a sistema de coordenadas del cuerpo rígido que se
muestra en la figura N° 12 viene dado por:

1 1
𝑝𝑐 = ∫ 𝑝̃𝑑𝑚 = ∫ 𝑝̃𝜌𝑑𝑉 , 𝑝𝑐 = (𝑥𝑐 , 𝑦𝑐 , 𝑧𝑐 ) 𝑦 𝑝̃ = (𝑥̃, 𝑦̃, 𝑧̃ )
𝑚 𝑚
𝑚 𝑉

Donde:

𝑝̃𝑐 : Posición de algún punto del cuerpo rígido

𝑚: Masa total del cuerpo rígido

𝜌: Densidad del cuerpo rígido

𝑉: Volumen del cuerpo rígido

Figura 12. Centro de masa con respecto a sistema de coordenadas fuera del cuerpo rígido
Fuente: Elaboración propia

Un caso particular es cuando el sistema de referencia está en el centro de masa del


cuerpo rígido como se muestra en la figura N° 13, entonces el centro de masa se
representaría como:

1
𝑝𝑐 = ∫ 𝑝̃𝜌𝑑𝑉 = 0
𝑚
𝑉

INGENIERÍA MECATRÓNICA 24
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 13. Sistema de coordenadas en el centro de masa de un cuerpo rígido


Fuente: Elaboración propia

3.1.6.2.Velocidad del centro de masa de un eslabón:

En la figura N° 14 observamos un manipulador conformados por n eslabones,


analizaremos el eslabón i.
Para el eslabón i: velocidad lineal y angular debidas a cada articulación anterior esta
dada por:

𝑉𝑐𝑖 = 𝐽𝑖 𝑉1 𝑞̇ 1 + 𝐽𝑖 𝑉2 𝑞̇ 2 + ⋯ + 𝐽𝑖 𝑉𝑖 𝑞̇ 𝑖 = 𝐽𝑖 𝑉 𝑞̇ 𝑖

𝜔𝑐𝑖 = 𝐽𝑖 𝜔1 𝑞̇ 1 + 𝐽𝑖 𝜔2 𝑞̇ 2 + ⋯ + 𝐽𝑖 𝜔𝑖 𝑞̇ 𝑖 = 𝐽𝑖 𝜔 𝑞̇ 𝑖

Donde:
 Para una articulación prismática tenemos:
𝐽𝑖 𝑉𝑘 𝑍
[ 𝑖
] = [ 𝑘−1 ]
𝐽 𝜔𝑘 0

 Para una articulación de revolución tenemos:


𝜕𝑝𝑐𝑖
𝐽𝑖 𝑉𝑘 𝑍𝑘−1 × (𝑝𝑐𝑖 − 𝑝𝑘−1 )
[ 𝑖 ]=[ ] = [ 𝜕𝑞𝑘 ]
𝐽 𝜔𝑘 𝑍𝑘−1
𝑍𝑘−1

INGENIERÍA MECATRÓNICA 25
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 14. Manipulador de n eslabones


Fuente: Elaboración propia

Finalmente, el jacobiano de velocidades del centro de masa viene dado de la forma:

𝐽𝑖 𝑉 𝐽𝑖 𝑉1 … 𝐽𝑖 𝑉𝑖 0 …
[ ]=[ 𝑖 ]
𝐽𝑖 𝜔 𝐽 𝜔1 … 𝐽𝑖 𝜔𝑖 0 …

3.1.6.3.Tensor de inercia:

Es el “equivalente a la masa” para la rotación él cual depende de la distribución de


masa y del eje de rotación escogido, este nos brinda una idea de cómo está distribuida
la masa en un cuerpo rígido. Matemáticamente, se describe como:

1
𝐼= ∫ 𝑝̂ 𝑇 𝑝̂ 𝜌𝑑𝑉
𝑚
𝑉
𝐼𝑥𝑥 𝐼𝑥𝑦 𝐼𝑥𝑧
𝐼 = [𝐼𝑦𝑥 𝐼𝑦𝑦 𝐼𝑦𝑧 ]
𝐼𝑧𝑥 𝐼𝑧𝑦 𝐼𝑧𝑧
El tensor de inercia es simétrico: Ixy=Iyx, Ixz=Izx, Izy=Iyz
Se tiene que realizar un cambio de sistema de referencia al tensor de inercia para
poder trabajar, a partir de ello tenemos:
Momento angular en el sistema {0}: 0h= 0I * 0ω
Momento angular en el sistema {B}: Bh= BI * Bω
Cambio de {B} a {0}:

INGENIERÍA MECATRÓNICA 26
UNIVERSIDAD NACIONAL DE TRUJILLO
0
h= 0RB * Bh
0
h= 0RB * BI Bω
0
h= 0RB * BI * BR0 * B ω
Por lo tanto, el tensor de inercia del sistema {B} expresado en el sistema {0} es:
0
I=0RB * BI * 0RBT
3.1.6.4.Energía cinética:

La energía cinética para el eslabón que se muestra en la figura N° 15 referenciada al


sistema {0} viene dada por:
1 1
𝑇𝑖 = 𝑚𝑖 ∗ 𝑉 𝑇 𝑐𝑖 ∗ 𝑉𝑐𝑖 + 𝜔𝑇 𝑖 ∗ 𝐼𝑖 ∗ 𝜔𝑖
2 2
Donde:
𝑚𝑖 : Masa
𝑉𝑐𝑖 : Velocidad del centro de masa
𝜔𝑖 : Velocidad angular
𝐼𝑖 : tensor de inercia (en el sistema de referencia de la base del robot)

Figura 15. Eslabón i, para hallar su energía cinética


Fuente: Elaboración propia

Como se puede apreciar el tensor de inercia varía con el movimiento del eslabón, por
ello usamos el tensor de inercia en el sistema del eslabón i, donde el tensor de inercia
ya no variara con el movimiento.
1 1
𝑇𝑖 = 𝑚𝑖 ∗ 𝑉 𝑇 𝑐𝑖 ∗ 𝑉𝑐𝑖 + 𝜔𝑇 𝑖 ∗ 𝑅𝑖 ∗ 𝐼𝑖 ∗ 𝑅 𝑇 𝑖 ∗ 𝜔𝑖
2 2

INGENIERÍA MECATRÓNICA 27
UNIVERSIDAD NACIONAL DE TRUJILLO
Remplazamos de tal manera que la energía cinética quede en función de las
articulaciones.
1 𝑇 1 𝑇
𝑇𝑖 = 𝑚𝑖 ∗ (𝑞̇ 𝑇 ∗ 𝐽𝑖 𝑉 ) (𝐽𝑖 𝑉 𝑞̇ ) + (𝑞̇ 𝑇 ∗ 𝐽𝑖 𝜔 ) ∗ 𝑅𝑖 ∗ 𝐼𝑖 ∗ 𝑅 𝑇 𝑖 ∗ (𝐽𝑖 𝜔 𝑞̇ )
2 2
Todo está en el sistema de la base (excepto 𝐼𝑖 ).
Generalizando para todo el robot, tenemos que la energía cinética total se suma (n
eslabones):
𝑛

𝑇 = ∑ 𝑇𝑖
𝑖=1
𝑛
1 𝑇 1 𝑇
𝑇 = ∑ 𝑚𝑖 ∗ (𝑞̇ 𝑇 ∗ 𝐽𝑖 𝑉 ) (𝐽𝑖 𝑉 𝑞̇ ) + (𝑞̇ 𝑇 ∗ 𝐽𝑖 𝜔 ) ∗ 𝑅𝑖 ∗ 𝐼𝑖 ∗ 𝑅 𝑇 𝑖 ∗ (𝐽𝑖 𝜔 𝑞̇ )
2 2
𝑖=1
𝑛
1 𝑇 1 𝑇
𝑇 = 𝑞̇ 𝑇 (∑ 𝑚𝑖 ∗ (𝐽𝑖 𝑉 ) (𝐽𝑖 𝑉 𝑞̇ ) + (𝑞̇ 𝑇 ∗ 𝐽𝑖 𝜔 ) ∗ 𝑅𝑖 ∗ 𝐼𝑖 ∗ 𝑅 𝑇 𝑖 ∗ (𝐽𝑖 𝜔 )) 𝑞̇
2 2
𝑖=1

Definición de matriz de inercia o masa:


𝑛
𝑇 1 𝑇 𝑖𝑇
𝑀(𝑞) = (∑ 𝑚𝑖 ∗ (𝐽𝑖 𝑉 ) (𝐽 𝑖
𝑉 𝑞̇ ) + (𝑞̇ ∗ 𝐽 𝜔 ) ∗ 𝑅𝑖 ∗ 𝐼𝑖 ∗ 𝑅 𝑇 𝑖 ∗ (𝐽𝑖 𝜔 ))
2
𝑖=1

Finalmente, la energía cinética del robot seria:


1 𝑇
𝑇(𝑞, 𝑞̇ ) = 𝑞̇ 𝑀(𝑞)𝑞̇
2
3.1.6.5.Energía potencial:

La energía potencial para un eslabón i (cuerpo rígido) que se muestra en la figura N°


16 referenciado al sistema {0}, viene dada por:
𝑈𝑖 = −𝑚𝑖 𝑔𝑇 0 ∗ 𝑝𝑐𝑖
Donde:
𝑚𝑖 : masa
𝑔0 : Vector de aceleración de la gravedad
𝑝𝑐𝑖 : Posición del centro de masa

INGENIERÍA MECATRÓNICA 28
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 16. Eslabon i, para hallar su energía potencial


Fuente: Elaboración propia
Generalizando para todo el robot, la energía potencial se suma (los n eslabones):
𝑛

𝑈(𝑞) = − ∑ 𝑚𝑖 𝑔𝑇 0 ∗ 𝑝𝑐𝑖
𝑖=1

Visto estos conceptos, el lagrangiano viene dado por la siguiente fórmula:


𝑛
1
𝐿(𝑞𝑞̇ ) = 𝑞̇ 𝑇 𝑀(𝑞)𝑞̇ + ∑ 𝑚𝑖 𝑔𝑇 0 ∗ 𝑝𝑐𝑖
2
𝑖=1

Aplicando la ecuación Euler-Lagrange:


𝑑 𝜕𝐿 𝜕𝐿
( )− = 𝜏𝑡𝑜𝑡𝑎𝑙
𝑑𝑡 𝜕𝑞̇ 𝑖 𝜕𝑞̇ 𝑖
Reemplazando el Lagrangiano y resolviendo tenemos:
𝑇 𝑛
1 𝜕𝑀(𝑞) 𝑇
𝑀(𝑞)𝑞̈ + (𝑀̇(𝑞) − 𝑞̇ 𝑇 ( ) ) 𝑞̇ + ( − ∑ 𝐽𝑖 𝑉 𝑚𝑖 𝑔0 ) = 𝜏𝑡𝑜𝑡𝑎𝑙
2 𝜕𝑞
𝑖=1

Finalmente, el modelo dinámico resulta:

𝑀(𝑞)𝑞̈ + 𝐶(𝑞, 𝑞̇ )𝑞̇ + 𝐺(𝑞) = 𝜏𝑡𝑜𝑡𝑎𝑙


Donde:

𝑞: Coordenadas articulares generalizadas

INGENIERÍA MECATRÓNICA 29
UNIVERSIDAD NACIONAL DE TRUJILLO
𝑀(𝑞): Matriz de masa o inercia

𝐶(𝑞, 𝑞̇ ): Fuerzas centrífugas y de Coriolis

𝐺(𝑞): Fuerzas gravitacionales (debidas al peso de cada eslabón)

𝜏𝑡𝑜𝑡𝑎𝑙 : Fuerzas generalizadas totales (no conservativas)

3.2.PROCESAMIENTO DE IMÁGENES:
Se usará procesamiento de imágenes para determinar la posición de los círculos de la parte
superior de los cilindros referenciada al robot, con esto el robot los podrá tomar y realizar la
acción que se desee, para nuestra aplicación, su respectivo ordenamiento de menor a mayor de
forma horizontal. Las imágenes se obtendrán mediante una cámara web, la cual se enlazará al
software Matlab para el procesamiento.

3.2.1. CÁMARA WEB


Una cámara web es un dispositivo de entrada que captura imágenes digitales las cuales serán
transferidas a la computadora. Para poder trabajar con la computadora las cámaras web vienen
con un software que debe ser instalado. Las características de una cámara web dependen del
software con el que opera la computadora así como del procesador. Las cámaras web pueden
tener prestaciones adicionales como detección de movimiento, archivado de imágenes y
automatización. Las cámaras web son mayormente usadas en videoconferencias,
videovigilancia y visión por computadora, entre otros. ("What is a Webcam? - Definition from
Techopedia", n.d.).

3.2.2. MATLAB:
Entre las múltiples prestaciones que posee el software Matlab se encuentra el poder comunicarse
con dispositivos externos conectados con la computadora. Su enlace con cámaras web le permite
capturar imágenes o videos para el procesamiento, el análisis y la visualización de imágenes,
así como para el desarrollo de algoritmos. Puede llevar a cabo segmentación de imágenes,
mejora de imágenes, reducción de ruido, transformaciones geométricas, registro de imágenes y
procesamiento de imágenes 3D. ("Image Processing Toolbox", n.d.)

INGENIERÍA MECATRÓNICA 30
UNIVERSIDAD NACIONAL DE TRUJILLO
3.2.3. PROCESO DE OBTENCIÓN DE LOS ORÍGENES DE LOS CÍRCULOS
Para la obtención mencionada se seguirán una serie de pasos los cuales se muestran en la figura
17 y se detallarán más adelante. Dichos pasos se repetirán cada vez que se desee que el robot
ordene los cilindros, a excepción del primer paso, el cual solo se ejecutará cuando se inicie todo
el sistema o después de un reinicio general.

Reconocimiento de
Captura de la cilindros y obtención
Enlace con la cámara
imagen de los orígenes de los
círculos y sus radios

Envío de todas las Ordenamiento de


Escalado de píxeles a
posiciones al radios de menor a
metros
controlador mayor

Figura 17. Proceso de obtención de los orígenes de los círculos


Fuente: Elaboración propia
3.2.3.1.Enlace con la cámara:
Con la cámara conectada a la computadora y con su respectivo software instalado podemos
enlazar el software Matlab con la cámara mediante el comando webcam. Pero primero debemos
ubicar el nombre de nuestra cámara, para eso se ejecuta el comando webcamlist, este nos
mostrará todas las cámaras web conectadas a nuestra computadora. Teniendo el nombre se crea
el objeto ‘cam’ para poder obtener las imágenes desde la cámara web. ("webcam", n.d.)
cam = webcam('cameraname')

La cámara conectada posee un ajuste de sus configuraciones por defecto, pero estos pueden ser
modificados en Matlab ("Set Properties for Webcam Acquisition", n.d.). Entre las características
que se pueden alterar están:

- Resolución
- Cuadros por segundo de la adquisición

INGENIERÍA MECATRÓNICA 31
UNIVERSIDAD NACIONAL DE TRUJILLO
- Brillo
- Contraste
- Ganancia
- Saturación, entre otros.

Un ejemplo de cómo modificar estos parámetros es el siguiente:


cam.Brightness = 150;

Por último, para conocer los rangos de resolución de la cámara se tiene:


cam.AvailableResolution
Estos son importantes debido a que a mayor resolución el tiempo de procesamiento es mayor y
cuando se tiene un continuo procesamiento de imágenes el sistema se puede volver lento.
Para cortar el enlace con la cámara se usa el comando clear
clear('cam');
3.2.3.2.Captura de la imagen:
Para capturar una imagen Matlab nos ofrece el comando snapshot. ("snapshot", n.d.)
img=snapshot(cam)
Para mostrar la imagen capturada se usa el comando imshow.
imshow(img)
3.2.3.3.Reconocimiento de y obtención de los orígenes de los círculos y sus radios:
Matlab posee un comando que nos permite identificar círculos en una imagen en base a unos
parámetros que el usuario debe definir previamente. Este comando es imfindcircles
("imfindcircles", n.d.)
[centers,radii] = imfindcircles(img,radiusRange)
Img: Imagen de la que se desean obtener los círculos
radiusRange: Rango aproximado de los círculos, en pixeles.
centers : Entrega las posiciones x,y en pixeles de los centros de los círculos encontrados.
radii : Radio de los círculos encontrados, en pixeles.
Se le pueden configurar otros parámetros como:
'ObjectPolarity': La polaridad del objeto indica si los objetos circulares son más brillantes o
más oscuros que el fondo. Se puede usar cualquier valor de la siguiente tabla:

INGENIERÍA MECATRÓNICA 32
UNIVERSIDAD NACIONAL DE TRUJILLO

Tabla 2. Parámetros de polaridad

'bright' Los objetos circulares son más brillantes que el fondo.


'dark' Los objetos circulares son más oscuros que el fondo.

Fuente: Elaboración propia


'Sensitivity': El factor de sensibilidad es la sensibilidad para el Hough circular que transforma

el arsenal del acumulador. Toma valor entre [0 1]. A medida que aumenta el factor de
sensibilidad, imfindcircles detecta más objetos circulares, incluyendo círculos débiles y
parcialmente oscurecidos. Los valores de sensibilidad más altos también aumentan el riesgo de
detección falsa.
'EdgeThreshold': El umbral de gradiente de borde establece el umbral de degradado para
determinar los píxeles de borde en la imagen. Toma valor entre [0 1]. Especifique 0 para
establecer el umbral a la magnitud de gradiente cero. Especifique 1para establecer el umbral en
la magnitud máxima de gradiente. imfindcircles detecta más objetos circulares (con bordes
débiles y fuertes) cuando se ajusta el umbral a un valor más bajo. Detecta menos círculos con
bordes débiles a medida que aumenta el valor del umbral.
Ejemplo del uso de los parámetros:
[centers, radii] = imfindcircles(img,[58 75], 'ObjectPolarity', 'dark',
'Sensitivity',0.9,'EdgeThreshold',0.1);

Para la visualización de los círculos se usa el comando viscircles


viscircles(centers, radii,'Color','b');
3.2.3.4.Ordenamiento de radios de menor a mayor:
Debido a que tendremos varias matrices con los radios y posiciones de los círculos, debemos
formar una matriz que cuente con los radios y posiciones ordenados de menor a mayor. Para
este propósito usaremos dos comandos, el comando size para determinar el tamaño de las
matrices obtenidas ("size", n.d.), y el comando sortrows para ordenar las filas de una matriz.
("Sortrows", n.d.)
sz = size(A)
Size entregra un vector fila cuyo primer elemento es el número de filas y el segundo es el número
de columnas de la matriz A.
B = sortrows(A,column)

INGENIERÍA MECATRÓNICA 33
UNIVERSIDAD NACIONAL DE TRUJILLO
A es la matriz que deseamos ordenar, y column la columna respecto a la cual se quieren
ordenados los datos, si el valor ingresado es positivo se ordenan en forma ascendente, y si es
negativo, el orden será descendente.

3.2.3.5.Escalado de pixeles a metros:


Este paso se realiza de forma experimental. Una vez fija la cámara a su estructura, se relacionan
las medidas en pixeles en una imagen con los centímetros que abarca, esto para poder referenciar
el sistema de la cámara con el del robot.

3.2.3.6.Envío de todas las posiciones al controlador:


Por último, los datos de las posiciones ordenadas en metros se envían al controlador del
movimiento del robot.

INGENIERÍA MECATRÓNICA 34
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 4:
Metodología

Para nuestra metodología de diseño emplearemos el proceso de diseño mecatrónico (figura 18).
Esta metodología es ampliamente usada para desarrollar soluciones mecatrónicas y consta de
tres fases: Modelamiento y simulación, creación de prototipos y despliegue. Todos los modelos,
ya sean basados en los primeros principios (ecuaciones básicas) o en la física más detallada,
deben ser de estructura modular, es decir, interactuando entre sí para alcanzar un objetivo en
común.

Figura 18. Proceso de diseño mecatrónico


Fuente: The Mechatronics Design Process (2005)

4.1. RECONOCIMIENTO DE LA NECESIDAD:


Se desea realizar el ordenamiento de cilindros en base a su radio y estos colocarlos en una
matriz. Desde un inicio se plantea emplear a un manipulador para la realización de la tarea y
que lo logre mediante procesamiento de imágenes, pero ¿qué tipo de manipulador? ¿de qué

INGENIERÍA MECATRÓNICA 35
UNIVERSIDAD NACIONAL DE TRUJILLO
forma lo hará?, por lo que es necesario proceder al siguiente paso, el diseño conceptual con
sus especificaciones funcionales.

Figura 19. Representación gráfica de un manipulador robótico para ordenar un conjunto de


cilindros
Fuente: Elaboración propia
4.2. DISEÑO CONCEPTUAL Y ESPECIFICACIONES FUNCIONALES:
El diseño de un sistema robótico demanda desarrollar una conceptualización del diseño. Esto
requiere en primera instancia definir los requerimientos y características que debe poseer
nuestro sistema, ya que en base a ellos se limita el diseño. Este diseño conceptual constará
de 5 etapas, para llegar a definir el sistema robótico.

4.2.1. Árbol de objetivos:


A continuación, se detallarán las características principales que debe poseer el robot:
a) Volumen de trabajo: Todos los puntos en el espacio cartesiano que puede alcanzar el robot
deben ser una cantidad considerable
b) Estructura: Que posea una estructura que no presente complicaciones al momento de
implementarse
c) Velocidad de movimiento: Que el robot realice su trabajo en un tiempo aceptable de
acuerdo a la tarea impuesta.
d) Fiabilidad: Tener la seguridad de que el robot realizará su trabajo las veces que le sea
ordenado.

INGENIERÍA MECATRÓNICA 36
UNIVERSIDAD NACIONAL DE TRUJILLO
e) Factibilidad: Contar con los recursos necesarios para llevar a cabo el desarrollo del robot.
f) Costo: El costo de los componentes e implementación del robot debe ser asequible para el
grupo de trabajo.
g) Estética: El robot debe tener una apariencia presentable, visualizándose la menor cantidad
de cables posibles.

4.2.2. Carta de comparación por pares:


Ya que no todas las características son igual de importantes entre ellas, se las ordenará
asignando a cada una un peso, lo cual nos asegurará una mejor selección del robot. Para dicha
tarea se crea una tabla de doble entrada comparando cada característica una a una.
Tabla 3. Carta de comparación por pares

Fuente: Elaboración propia

Opciones de robots:
Luego de definir las características necesarias se seleccionan algunos tipos de robots y se
procede a comparar entre ellos. Los robots seleccionados en este proyecto son los siguientes:

INGENIERÍA MECATRÓNICA 37
UNIVERSIDAD NACIONAL DE TRUJILLO

a) Robot Scara 4GDL:

Figura 20. Robot Scara 4 GDL


Fuente: ABB Robotics, 2019
b) Robot paralelo 4GDL

Figura 21. Robot paralelo de 4 GDL


Fuente: ABB Robotics, 2019
c) Robot cartesiano 4GDL:

Figura 22. Robot cartesiano


Fuente: Industrial Robotic, 2019

INGENIERÍA MECATRÓNICA 38
UNIVERSIDAD NACIONAL DE TRUJILLO
d) Robot antropomórfico 3GDL

Figura 23. Robot antropomórfico de 7 GDL, se plantea el uso de solo 3 GDL


Fuente: Logicbus, 2019

Una vez propuestas las opciones procedemos a comparar los robots por medio de sus
características:

Tabla 4. Evaluación de las opciones de robots en base a las características priorizadas

Fuente: Elaboración propia

INGENIERÍA MECATRÓNICA 39
UNIVERSIDAD NACIONAL DE TRUJILLO
Por el cuadro anterior podemos concluir que el robot que mejor se adaptaría a nuestro
problema es un robot antropomórfico de 3GDL.

4.2.3. Caja negra y caja de cristal:


a) Caja negra:
Consiste en un gráfico que discrimine ciertos componentes electrónicos y no basarse en el
funcionamiento interno del sistema, para así no enfocarnos en como realiza su función sino
en la misma función de este.

Figura 24. Caja negra del diseño mecatrónicos


Fuente: Elaboración propia
b) Caja de cristal:
El desarrollo de la caja de cristal es indispensable en todo el proceso de diseño, esta permite
entender cómo funcionan los componentes electrónicos y cómo están relacionados entre
ellos, esta se visualiza en la figura 25.

INGENIERÍA MECATRÓNICA 40
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 25. Caja de cristal del diseño mecatrónicos


Fuente: Elaboración propia

4.2.4. Matriz morfológica:


Se realiza la matriz morfológica, en la cual se proponen diferentes soluciones para cada
función. Luego se unen una solución de cada función y se forma un concepto de solución.
Esto se realiza tres veces hasta obtener diferentes conceptos de solución, mostrándose en la
tabla 5.
Donde los conceptos son los siguientes:

INGENIERÍA MECATRÓNICA 41
UNIVERSIDAD NACIONAL DE TRUJILLO

Tabla 5. Matriz morfológica para evaluar distintas opciones de solución

Fuente: Elaboración propia

4.2.5. Criterios de selección:


a) Seguridad: Los elementos a utilizar deben de contar con una adecuada resistencia.
b) Rapidez: Grado en el que facilita la velocidad del proceso.
c) Fácil uso: No cuenta con mucha complejidad al momento de emplearse.

INGENIERÍA MECATRÓNICA 42
UNIVERSIDAD NACIONAL DE TRUJILLO
d) Confiabilidad: Los elementos deben de contar con una adecuada funcionalidad ante
ciertas condiciones de trabajo.
e) Facilidad de montaje: Deben ser fácilmente manejables al momento de ensamblar.
f) Fácil adquisición del material: Los elementos a utilizar deben de estar disponibles en el
mercado.
g) Costo del prototipo: Precio de adquisición de cada elemento.
h) Cumplimiento de las exigencias: Logre desarrollar con el trabajo pensado de buena
forma.
Finalmente, se realiza la calificación de los conceptos:
Tabla 6. Criterios de selección para conceptos de solución

Fuente: Elaboración propia

De este cuadro se concluye que el mejor concepto para el brazo antropomórfico es la opción
3.

INGENIERÍA MECATRÓNICA 43
UNIVERSIDAD NACIONAL DE TRUJILLO

4.3. PRIMER MODELAMIENTO MATEMÁTICO MODULAR:


El primer modelamiento matemático modular consiste en determinar expresiones matemáticas,
expresadas en simbólicos, que nos permitirán relacionar o determinar parámetros de interés.
Para nuestro manipulador robótico, se plantea el modelamiento cinemático, estático y dinámico
según la teoría estudiada en clase.

4.3.1. MODELAMIENTO CINEMÁTICO:


Cinemática directa:
El primer paso deteminar el modelo cinemático del brazo robótico es definir en una posición
inicial al brazo y asignar sus ejes coordenados siguiendo el algoritmo de Denavit-
Hartenberg, tal como se muestra en la figura 26.

q3

q2 q1

Figura 26. Ubicación de los ejes coordenados del brazo robótico


Fuente: Elaboración propia
Donde:
Eje Z= -----------
Eje X= -----------
Eje Y= -----------

INGENIERÍA MECATRÓNICA 44
UNIVERSIDAD NACIONAL DE TRUJILLO

De este gráfico, se obtienen los parámetros de Denavit-Hartenberg, adjuntándose en la tabla


7:

Tabla 7. Parámetros de Denavit-Hartenberg del brazo robótico

Articulación 𝜃 𝑑 𝑎 𝛼
𝜋
1 𝑞1 𝐿1 0
2
2 𝑞2 0 𝐿2 0

3 𝑞3 0 𝐿3 0

Fuente: Elaboración propia

Seguidamente, se obtienen las matrices de transformación homogénea de cada articulación:

0
𝑇1 = 𝑇𝑧,𝜃 ∗ 𝑇𝑧,𝑑 ∗ 𝑇𝑥,𝑎 ∗ 𝑇𝑥,𝛼

cos(𝑞1 ) −𝑠𝑒𝑛(𝑞1 ) 0 0 1 0 0 0 1 0 0 0 1 0 0 0
0 𝑠𝑒𝑛(𝑞1) cos(𝑞1 ) 0 0 ] ∗ [0 1 0 0 0 1 0 0 0 cos(90) −𝑠𝑒𝑛(90) 0
𝑇1 = [ ]∗[ ]∗[ ]
0 0 1 0 0 0 1 𝐿1 0 0 1 0 0 𝑠𝑒𝑛(90) cos(90) 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

cos(𝑞1 ) −𝑠𝑒𝑛(𝑞1 ) 0 0
0 𝑠𝑒𝑛(𝑞1 ) cos(𝑞1 ) 0 0
𝑇1 = [ ]
0 0 1 𝐿1
0 0 0 1
1
𝑇2 = 𝑇𝑧,𝜃 ∗ 𝑇𝑧,𝑑 ∗ 𝑇𝑥,𝑎 ∗ 𝑇𝑥,𝛼

cos(𝑞2 ) −𝑠𝑒𝑛(𝑞2 ) 0 0 1 0 0 0 1 0 0 𝐿2 1 0 0 0
1 𝑠𝑒𝑛(𝑞 2) cos(𝑞2 ) 0 0] ∗ [0 1 0 0 0 1 0 0 0 cos(0) −𝑠𝑒𝑛(0) 0
𝑇2 = [ ]∗[ ]∗[ ]
0 0 1 0 0 0 1 0 0 0 1 0 0 𝑠𝑒𝑛(0) cos(0) 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

𝑐𝑜𝑠(𝑞2 ) −𝑠𝑒𝑛(𝑞2 ) 0 𝐿2 ∗ 𝑐𝑜𝑠(𝑞2 )


1 𝑠𝑒𝑛(𝑞2 ) 𝑐𝑜𝑠(𝑞2 ) 0 𝐿2 ∗ 𝑠𝑒𝑛(𝑞2 )
𝑇2 = [ ]
0 0 1 0
0 0 0 1
2
𝑇3 = 𝑇𝑧,𝜃 ∗ 𝑇𝑧,𝑑 ∗ 𝑇𝑥,𝑎 ∗ 𝑇𝑥,𝛼

INGENIERÍA MECATRÓNICA 45
UNIVERSIDAD NACIONAL DE TRUJILLO

cos(𝑞3 ) −𝑠𝑒𝑛(𝑞3 ) 0 0 1 0 0 0 1 0 0 𝐿3 1 0 0 0
) cos(𝑞3 ) 0] ∗ [ 0 1 0 0 0 1 0 0 0 cos(0) −𝑠𝑒𝑛(0) 0
2
𝑇3 = [𝑠𝑒𝑛(𝑞3 0 ]∗[ ]∗[ ]
0 0 1 0 0 0 1 0 0 0 1 0 0 𝑠𝑒𝑛(0) cos(0) 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

cos(𝑞3 ) −𝑠𝑒𝑛(𝑞3 ) 0 𝐿3 ∗ cos(𝑞3 )


2 𝑠𝑒𝑛(𝑞3 ) cos(𝑞3 ) 0 𝐿3 ∗ 𝑠𝑒𝑛(𝑞3 )
𝑇3 = [ ]
0 0 1 0
0 0 0 1

Finalmente, la cinemática directa viene definida por la multiplicación de las cuatro matrices
de transformación homogénea:

0
𝑇3 = 0𝑇1 ∗ 1𝑇2 ∗ 2𝑇3

La matriz 0𝑇3 completa en función de sus coordenadas articulares se encuentra en la sección


de resultados y discusiones.

Cinemática inversa:
Para determinar el modelo cinemático inverso, emplearemos el método geométrico. Como
datos de entrada para la cinemática inversa se tiene el punto a donde se desea que llego el
efector final del robot:
𝑃𝑚𝑥
𝑃𝑓 = [𝑃𝑚𝑦 ]
𝑃𝑚𝑧
1° DETERMINANDO 𝑞1 , 𝑞2 , 𝑞3 :
Se realiza el análisis codo arriba y codo abajo.
CONFIGURACIÓN CODO ARRIBA:
De la figura 27 se obtiene por simple inspección a 𝑞1 que será igual a:
𝑃𝑚𝑦
𝑞1 = tan−1 ( )
𝑃𝑚𝑥

Para determinar q2 y q3 se analiza la misma figura 28 viéndolo desde otro ángulo para notar
mejor su representación geométrica.

INGENIERÍA MECATRÓNICA 46
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 27. Ubicación de los q1, q2 y q3 en configuración codo arriba


Fuente: Elaboración propia

Figura 28. Ubicación del q2 y q3 en configuración codo arriba


Fuente: Elaboración propia

INGENIERÍA MECATRÓNICA 47
UNIVERSIDAD NACIONAL DE TRUJILLO
Ahora se procede a analizar y calcular q2 y q3 empleando relaciones trigonométricas
básicas y la ley de cosenos.
Se tiene las siguientes relaciones iniciales:
𝑟 = 𝑃𝑚𝑥2 + 𝑃𝑚𝑦2 + (𝑃𝑚𝑧 − 𝐿1 )2
𝑞2 + 𝛽 + 𝜙 = 90
Primero, determinamos 𝜙 por inspección directa:
𝑃𝑚𝑧 − 𝐿1
tan(𝜙) =
√𝑃𝑚𝑥2 + 𝑃𝑚𝑦2
𝑃𝑚𝑧 − 𝐿1
𝜙 = tan−1 ( )
√𝑃𝑚𝑥2 + 𝑃𝑚𝑦2
Ahora, determinemos 𝛽 mediante ley de cosenos:
𝐿23 = 𝐿22 + 𝑟 2 − 2𝐿2 . 𝑟. cos(𝛽)
𝐿23 − 𝐿22 − 𝑟 2 = −2𝐿2 . 𝑟. cos(𝛽)
𝑟 2 + 𝐿22 − 𝐿23
cos(𝛽) =
2𝐿2 . 𝑟

−1
√1 − cos 2 (𝛽)
𝛽 = tan ( )
cos(𝛽)

Conociendo 𝜙 𝑦 𝛽 podemos obtener 𝑞2 de la segunda relación inicial:


𝑞2 = 90 − 𝛽 − 𝜙
Por último, mediante Ley de Cosenos obtenemos 𝑞3 :
𝑟 2 = 𝐿22 + 𝐿23 − 2𝐿2 𝐿3 . cos(180 − 𝑞3 )
𝑟 2 − 𝐿22 − 𝐿23 = 2𝐿2 𝐿3 cos(𝑞3 )
𝑟 2 − 𝐿22 − 𝐿23
cos(𝑞3 ) =
2𝐿2 𝐿3
√1 − cos 2 (𝑞3 )
𝑞3 = tan−1 ( )
cos(𝑞3 )

Finalmente, del análisis de codo arriba se logran obtener 𝑞1 , 𝑞2 , 𝑞3 , los cuales son los
siguientes:
𝑃𝑚𝑦
𝑞1 = tan−1 ( )
𝑃𝑚𝑥

INGENIERÍA MECATRÓNICA 48
UNIVERSIDAD NACIONAL DE TRUJILLO

√1 − cos 2 (𝛽) 𝑃𝑚𝑧 − 𝐿1


𝑞2 = 90 − tan−1 ( ) − tan−1 ( )
cos(𝛽) √𝑃𝑚𝑥2 + 𝑃𝑚𝑦2

√1 − cos 2 (𝑞3 )
𝑞3 = tan−1 ( )
cos(𝑞3 )

CONFIGURACIÓN CODO ABAJO:


Para la configuración codo abajo, el 𝑞1 mantiene la misma variación como se vio en la
figura 27, es decir, su cálculo será nuevamente igual a:
𝑃𝑚𝑦
𝑞1 = tan−1 ( )
𝑃𝑚𝑥

Ahora, nos interesa determinar 𝑞2 𝑦 𝑞3 , cuya configuración codo abajo viene dada como
se visualiza en la siguiente figura 29

Figura 29. Ubicación del q2 y q3 en configuración codo abajo


Fuente: Elaboración propia

Ahora se procede a analizar y calcular q2 y q3 empleando relaciones trigonométricas


básicas y la ley de cosenos.
Se tiene las siguientes relaciones iniciales:

INGENIERÍA MECATRÓNICA 49
UNIVERSIDAD NACIONAL DE TRUJILLO
𝑟 = 𝑃𝑚𝑥2 + 𝑃𝑚𝑦2 + (𝑃𝑚𝑧 − 𝐿1 )2
𝑞2 + 𝜙 = 90
Primero, podemos determinar 𝜙 + 𝛽 por inspección directa:
𝑃𝑚𝑧 − 𝐿1
tan(𝜙 + 𝛽) =
√𝑃𝑚𝑥2 + 𝑃𝑚𝑦2
𝑃𝑚𝑧 − 𝐿1
𝜙 + 𝛽 = tan−1 ( )
√𝑃𝑚𝑥2 + 𝑃𝑚𝑦2
Ahora, determinemos 𝛽 mediante ley de cosenos:
𝐿23 = 𝐿22 + 𝑟 2 − 2𝐿2 . 𝑟. cos(𝛽)
𝐿23 − 𝐿22 − 𝑟 2 = −2𝐿2 . 𝑟. cos(𝛽)
𝑟 2 + 𝐿22 − 𝐿23
cos(𝛽) =
2𝐿2 . 𝑟
√1 − cos 2 (𝛽)
𝛽 = tan−1 ( )
cos(𝛽)

Conociendo 𝛽, podemos obtener 𝜙:


𝑃𝑚𝑧 − 𝐿1 √1 − cos 2 (𝛽)
𝜙 = tan−1 ( ) − tan−1 ( )
√𝑃𝑚𝑥2 + 𝑃𝑚𝑦2 cos(𝛽)

Conociendo 𝜙, podemos determinar 𝑞2 a partir de las relaciones iniciales:


𝑃𝑚𝑧 − 𝐿1 √1 − cos 2 (𝛽)
𝑞2 = 90 − tan−1 ( ) + tan−1 ( )
√𝑃𝑚𝑥2 + 𝑃𝑚𝑦2 cos(𝛽)

Por último, mediante Ley de Cosenos obtenemos 𝑞3 :


𝑟 2 = 𝐿22 + 𝐿23 − 2𝐿2 𝐿3 . cos(180 − (−𝑞3 ))
𝑟 2 = 𝐿22 + 𝐿23 − 2𝐿2 𝐿3 . cos(180 + 𝑞3 )
𝑟 2 − 𝐿22 − 𝐿23
−cos(𝑞3 ) =
2𝐿2 𝐿3
𝐿23 + 𝐿22 − 𝑟 2
cos(𝑞3 ) =
2𝐿2 𝐿3
√1 − cos 2 (𝑞3 )
𝑞3 = tan−1 ( )
cos(𝑞3 )

INGENIERÍA MECATRÓNICA 50
UNIVERSIDAD NACIONAL DE TRUJILLO
Finalmente, del análisis de codo abajo se logran obtener 𝑞1 , 𝑞2 , 𝑞3.
𝑃𝑚𝑦
𝑞1 = tan−1 ( )
𝑃𝑚𝑥
𝑃𝑚𝑧 − 𝐿1 √1 − cos 2 (𝛽)
𝑞2 = 90 − tan−1 ( ) + tan−1 ( )
√𝑃𝑚𝑥2 + 𝑃𝑚𝑦2 cos(𝛽)

√1 − cos 2 (𝑞3 )
𝑞3 = tan−1 ( )
cos(𝑞3 )

De ambos resultados, notamos una variación en 𝑞2 𝑦 𝑞3 , en 𝑞2 para la configuración codo


abajo cambia un signo haciendo que aumente el ángulo, siendo lo lógico ya que 𝑞2 es
mayor en esa configuración y en 𝑞3 , su coseno en la configuración codo arriba es el opuesto
en la configuración codo abajo.

1° DUPLA CODO ARRIBA:

𝑃𝑚𝑦
𝑞1 = tan−1 ( )
𝑃𝑚𝑥

√1 − cos 2 (𝛽) 𝑃𝑚𝑧 − 𝐿1


𝑞2 = 90 − tan−1 ( ) − tan−1 ( )
cos(𝛽) √𝑃𝑚𝑥2 + 𝑃𝑚𝑦2

√1 − cos 2 (𝑞3 )
𝑞3 = tan−1 ( )
cos(𝑞3 )

2° DUPLA CODO ABAJO:

𝑃𝑚𝑦
𝑞1 = tan−1 ( )
𝑃𝑚𝑥

−1
𝑃𝑚𝑧 − 𝐿1 −1
√1 − cos 2 (𝛽)
𝑞2 = 90 − tan ( ) + tan ( )
√𝑃𝑚𝑥2 + 𝑃𝑚𝑦2 cos(𝛽)

√1 − cos 2 (𝑞3 )
𝑞3 = tan−1 ( )
cos(𝑞3 )

INGENIERÍA MECATRÓNICA 51
UNIVERSIDAD NACIONAL DE TRUJILLO

Cinemática diferencial:

El modelo diferencial permite disponer de las relaciones entre velocidades en el espacio


articular del robot (𝑞1̇ , 𝑞2̇ , 𝑞3̇ , 𝑞4̇ ) y las coordenadas cartesianas del efector final del robot
(𝑥̇ , 𝑦̇ , 𝑧̇ , 𝛼̇ , 𝛽̇ , 𝜃̇ ), además, nos permite determinar singularidades y regular la velocidad con
la que se desea mover el efector final.
Lo primero a realizar será determinar el jacobiano de velocidades, que contendrá a las
velocidades lineales y las angulares, el proceso para determinar esta matriz jacobiana será
representada en el siguiente diagrama de flujo:

Determinar las
Obtener el vector Z y
Determinar las M.T.H. de cada unión
el vector posición de
matrices de Denavit- con respecto a la base
cada M.T.H.
Hartenberg de cada y la M.T.H que
calculada en el paso
unión relaciona el efector
anterior
final con la base

Realizamos producto Los resultados


Restamos a la
cruz de los vectores Z obtenidos son los
posición del efector
con las restas elementos de mi
final la posición de
calculadas en el paso Jacobiano de
cada unión
anterior velocidades lineales

Para el jacobiano de
Finalmente se unen
velocidades angulares
ambas matrices
se multiplica a cada
jacobianas y se
vector Z por un factor
obtiene el Jacobiano
e, que dependerá del
de velocidades
tipo de unión que sea

Figura 30. Diagrama de flujo del proceso de obtención de la matriz Jacobiana de


velocidades
Fuente: Elaboración propia

Se realizó un script en Matlab siguiendo esta secuencia en donde se ingresan los parámetros
de Denavit-Hartenberg y nos arroja la matriz Jacobiana de velocidades. Los resultados serán
mostrados en la sección de resultados y discusiones.

INGENIERÍA MECATRÓNICA 52
UNIVERSIDAD NACIONAL DE TRUJILLO

4.3.2. MODELAMIENTO ESTÁTICO:


Se plantea el modelamiento estático recursivo empleando los mismos parámetros de Deavit
– Hartenberg: Con estos hallamos las matrices de transformación homogénea para cada
articulación y sus matrices de rotación.
Por definición aplicando estática de la forma recursiva de un robot manipulador tenemos:
Las fuerzas en cada articulación:
F23 = R 23 ∗ F34 − m3 ∗ R 20 ∗ G
F12 = R12 ∗ F23 − m2 ∗ R10 ∗ G
F01 = R 01 ∗ F12 − m1 ∗ G
Los pares en cada articulación:

M23 = R 23 ∗ M34 − [(R 23 ∗ r2,c3 )X (m3 ∗ R 20 ∗ G)] + [(R 23 ∗ r2,3 )X (R 23 ∗ F34 )]


M12 = R12 ∗ M23 − [(R12 ∗ r1,c2 )X (m2 ∗ R10 ∗ G)] + [(R12 ∗ r1,2 )X (R12 ∗ F23 )]
M01 = R 01 ∗ M12 − [(R 01 ∗ r0,c1 )X (m1 ∗ G)] + [(R 01 ∗ r0,1 )X (R 01 ∗ F12 )]
Donde:
L3
r2,c3 = [ ; 0; 0];
2
r2,3 = [L3 ; 0; 0];
L2
r1,c2 = [ ; 0; 0];
2
r1,2 = [L2 ; 0; 0];
r0,c1 = [0; L1 /2; 0];
r0,1 = [0; L1 ; 0];

Realizamos un script en Matlab llamado “EstaticaRecusiva_robot.m” mostrado en el anexo


para el cálculo recursivo tenemos como resultado:
Fuerzas resultantes en cada articulación para una fuerza externa f=[fx,fy,fz] T y momento
par n=[nx,ny,nz]T aplicada en el efector final. Momentos resultantes en cada articulación
para una fuerza externa f=[fx,fy,fz]T y momento par n=[nx,ny,nz]T aplicada en el efector
final. Los resultados serán mostrados en la sección de resultados y discusiones.

INGENIERÍA MECATRÓNICA 53
UNIVERSIDAD NACIONAL DE TRUJILLO

4.3.3. MODELAMIENTO DINÁMICO:


El modelo dinámico se desarrolla siguiendo la formulación de Lagrange – Euler:
Ecuación Dinámica:

𝜏 = 𝐷𝑞̈ + 𝐶𝑞̇ + 𝐺
Matriz de masa o inercia (D):
𝑛
𝑖𝑇 0 ̃𝑖 0𝑇 𝑖
𝐷 = ∑( 𝑚𝑖 𝐽𝑣𝑖𝑇 𝐽𝑣𝑖 + 𝐽𝑤 𝑅𝑖 𝐼 𝑅𝑖 𝐽𝑤 )
𝑖=1

Donde:
𝑚𝑖 : Masa de eslabón i-ésimo.

𝐽𝑣𝑖𝑇 : Transpuesta del jacobiano de velocidad lineal del i-ésimo sistema de referencia
respecto al sistema de referencia base.

𝐽𝑣𝑖 : Jacobiano de velocidad lineal del i-ésimo sistema de referencia respecto al sistema de
referencia base.
𝑖𝑇
𝐽𝑤 : Transpuesta del jacobiano de velocidad angular del i-ésimo sistema de referencia
respecto al sistema de referencia base.
𝑖
𝐽𝑤 : Jacobiano de velocidad angular del i-ésimo sistema de referencia respecto al sistema
de referencia base.

𝑅𝑖0 : Matriz de rotación del sistema i-ésimo respecto al sistema de referencia base.

𝑅𝑖0𝑇 : Transpuesta de la matriz de rotación del sistema i-ésimo respecto al sistema de


referencia base.

𝐼̃𝑖 : Tensores de inercia del eslabón i-ésimo.

Matriz de fuerzas centrífugas y Coriolis (C).


𝑛

𝐶𝑖𝑗 = ∑ 𝐶𝑖𝑗𝑘 𝑞̇ 𝑘
𝑘=1
1 𝜕𝑑𝑖𝑗 𝜕𝑑𝑖𝑘 𝜕𝑑𝑗𝑘
𝐶𝑖𝑗𝑘 = ( + − )
2 𝜕𝑞𝑘 𝜕𝑞𝑗 𝜕𝑞𝑖
Donde:
d: Valores de la matriz de masa o inercia (D).
q: Parámetros articulares.
𝑞̇ : Primera derivada de los parámetros articulares.

INGENIERÍA MECATRÓNICA 54
UNIVERSIDAD NACIONAL DE TRUJILLO

Matriz de pares gravitacionales (G):


𝑛

𝐺 = − ∑ 𝐽𝑣𝑖 𝑚𝑖 𝑔̅ 0
𝑖=1
Donde:
𝑔̅ 0 : Vector de gravedad.
𝑚𝑖 : Masa de eslabón i-ésimo.
𝐽𝑣𝑖 : Jacobiano de velocidad lineal del i-ésimo sistema de referencia respecto al sistema de
referencia base.

El modelo dinámico del robot manipulador de 3 GDL ha sido planteado con variables
simbólicas, las cuales son las siguientes.

Parámetros articulares:
𝑞1
𝑞 = [𝑞2]
𝑞3
Primera derivada de los parámetros articulares:
𝑞1𝑝
𝑞̇ = [𝑞2𝑝]
𝑞3𝑝
Segunda derivada de los parámetros articulares:
𝑞1𝑝𝑝
𝑞̈ = [𝑞2𝑝𝑝]
𝑞3𝑝𝑝
Masas de los eslabones:
𝑚1
𝑚 = [𝑚2]
𝑚3
Centros de masa:
𝐿𝑐1
𝑃_𝑐𝑚 = [𝐿𝑐2]
𝐿𝑐3

INGENIERÍA MECATRÓNICA 55
UNIVERSIDAD NACIONAL DE TRUJILLO

Gravedad:
0
𝑔0 = [−𝑔]
0
Tensores de Inercia:
𝐼𝑥𝑥1 𝐼𝑥𝑦1 𝐼𝑥𝑧1
𝐼1 = [𝐼𝑦𝑥1 𝐼𝑦𝑦1 𝐼𝑦𝑧1 ]
𝐼𝑧𝑥1 𝐼𝑧𝑦1 𝐼𝑧𝑧1

𝐼𝑥𝑥2 𝐼𝑥𝑦2 𝐼𝑥𝑧2


𝐼2 = [𝐼𝑦𝑥2 𝐼𝑦𝑦2 𝐼𝑦𝑧2 ]
𝐼𝑧𝑥2 𝐼𝑧𝑦2 𝐼𝑧𝑧2

𝐼𝑥𝑥3 𝐼𝑥𝑦3 𝐼𝑥𝑧3


𝐼3 = [𝐼𝑦𝑥3 𝐼𝑦𝑦3 𝐼𝑦𝑧3 ]
𝐼𝑧𝑥3 𝐼𝑧𝑦3 𝐼𝑧𝑧3

Desarrollando las ecuaciones en base a las matrices expresadas en simbólicos, los resultados
obtenidos son:
Matriz de masas o inercia (D):
𝐷11 𝐷12 𝐷22
𝐷 = [𝐷21 𝐷22 𝐷23]
𝐷31 𝐷32 𝐷33
Matriz de Coriolis y Centrípeta (C):
𝐶11 𝐶12 𝐶22
𝐶 = [𝐶21 𝐶22 𝐶23]
𝐶31 𝐶32 𝐶33
Matriz de pares gravitacionales (G):
𝐺1
𝐺 = [𝐺2]
𝐺3
Para la determinación de los parámetros estructurales del robot manipulador, se empleó el
software SOLIDWORKS, en el cual se realizó el diseño del brazo a escala 1:1, es decir,
basándonos en las dimensiones del prototipo en físico; se le asignó de material Plástico –
ABS y finalmente, se empleó la herramienta ‘Propiedades físicas’ la cual permite

INGENIERÍA MECATRÓNICA 56
UNIVERSIDAD NACIONAL DE TRUJILLO
determinar la masa y el tensor de inercia de cada eslabón, como se muestra en la siguiente
figura:

Figura 31. Determinación de las masas y tensores de inercia de cada eslabón del brazo
robótico
Fuente: Elaboración propia
Se obtiene para las masas y tensores de inercia:
Tabla 8. Valores de masas y tensores de inercia del brazo robótico

Eslabón Masa (Kg) Tensores de inercia (Kg/m2)


6993975830 246718770 -3249859320

1 0.20959 246718770 8578609430 -481040810

-3249859320 -481040810 2018142070

5119988700 -1279369650 -1916573180

2 0.12948 -1279369650 4519120670 2202839690

-1916573180 2202839690 2856188930

2649775030 -1172113540 -687952060

3 0.06855 -1172113540 1642316020 1096760420

-687952060 1096760420 2621675830

Fuente: Elaboración propia

INGENIERÍA MECATRÓNICA 57
UNIVERSIDAD NACIONAL DE TRUJILLO
Finalmente, en base a estas matrices calculadas y los parámetros estructurales determinados
en el CAD, se obtiene la ecuación dinámica del manipulador robótico:
𝜏1
𝜏 = [𝜏2]
𝜏3
Que se encuentra en la sección de resultados y discusiones, además, el algoritmo empleado
puede ser consultado en el Anexo IV.

4.4. SENSORES, ACTUADORES Y TARJETAS COMPLEMENTARIAS


4.4.1. SENSORES:
Debido a que en el presente proyecto se realiza procesamiento de imágenes, utilizamos un
cámara web como sensor para adquirir las imágenes, para poder obtener los diámetros de los
cilindros y sus respectivas posiciones, la cámara que utilizamos se muestra en la figura 32.

Figura 32. Cámara web Logitech C120 empleada para el reconocimiento de cilindros
Fuente: PC Direct, 2019

4.4.2. ACTUADORES:
Debido a que el tipo de manipulador seleccionado es un brazo comercial, este fue adquirido de
la empresa Arduino, en donde se incluyeron los actuadores, los cuales fueron:

 1 servo motor SR 311

INGENIERÍA MECATRÓNICA 58
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 33. Servo motor utilizado en la pinza del brazo manipulador.


Fuente: Arduino, 2019

 2 servo motores SR 431

Figura 34. Servomotor utilizado en los eslabones del brazo manipulador.


Fuente: Arduino, 2019

4.4.3. TARJETA DE POTENCIA:


También se incluyó en el kit que fue adquirido una tarjeta de potencia, con la cual podemos
alimentar de corriente eléctrica a los servomotores de nuestro brazo manipulador robótico. Esta
se muestra en la figura 33.

INGENIERÍA MECATRÓNICA 59
UNIVERSIDAD NACIONAL DE TRUJILLO
Figura 35. Tarjeta de potencia utilizada para la alimentación de los servomotores.
Fuente: Arduino, 2019

4.4.4. TARJETA DE COMUNICACIÓN:


Para la programación de los movimientos del manipulador robótico se utiliza el software
Matlab, por lo que se requiere un nexo entre ambos para que los resultados obtenidos en el
algoritmo se reflejen en el movimiento de los actuadores y por ende movimiento del
manipulador, para ello se utiliza la tarjeta Arduino uno ya que justamente es compatible con la
tarjeta de potencia que es parte del brazo robótico.

Figura 36. Tarjeta Arduino Uno utilizada para el nexo del brazo manipulador robótico con el
software Matlab.
Fuente: Arduino, 2019

4.5. CONTROL CINEMATICO:


4.5.1. ESPACIO DE TRABAJO:
Para una adecuada planeación de trayectorias tanto en el robot Braccio como en cualquier otro
robot industrial, es indispensable el poder conocer cuál es el espacio de trabajo en que dicho
robot tendrá que ejecutar sus diversas tareas, que pueden ir desde un movimiento simple hasta
movimientos coordinados con otros robots en algún proceso industrial.

Para conocer el espacio de trabajo realizamos un algoritmo en Matlab en donde ploteamos los
rangos de operación de nuestras variables articulares definidos por las características de nuestro
brazo robótico, estos son:

−180° ≤ 𝑞1 ≤ 0°
{ 10° ≤ 𝑞2 ≤ 159°
−84° ≤ 𝑞3 ≤ 96°

INGENIERÍA MECATRÓNICA 60
UNIVERSIDAD NACIONAL DE TRUJILLO
El espacio de trabajo hallado se muestra en la figura 37, 38 y 39:

Figura 37. Espacio de trabajo en el plano XYZ


Fuente: Elaboración propia

Figura 38. Espacio de trabajo en el plano YZ


Fuente: Elaboración propia

INGENIERÍA MECATRÓNICA 61
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 39. Espacio de trabajo en el plano XY


Fuente: Elaboración propia

4.5.2. CALIBRACIÓN Y POSICIONAMIENTO:


El área de trabajo físicamente se partió de lo hallado en las simulaciones y se perfeccionó de
forma experimental, donde las pruebas fueron exitosas y hay mayor probabilidad de agarre y
resultaron estar acorde con los puntos singulares obtenidos anteriormente.

Figura 40. Zona graficada del área de trabajo


Fuente: Elaboración propia

INGENIERÍA MECATRÓNICA 62
UNIVERSIDAD NACIONAL DE TRUJILLO
Sin embargo, el procedimiento del envío de coordenadas implicó varios procedimientos
sencillos en los que se trabajaron posiciones de forma vectorial.

Figura 41. Vectores de posición a trabajar referidos a puntos clave 𝑟𝑅𝐶 , 𝑟𝐶𝑂 𝑦 𝑟𝑅𝑂
Fuente: Elaboración propia

Para ello definimos tres vectores de posición los cuales serán tomados siempre para cada uno
de nuestros objetos a trabajar, 𝒓𝑹𝑪 , 𝒓𝑪𝑶 𝑦 𝒓𝑹𝑶 donde simbolizan la posición del robot a la base
de la cámara, la posición de la base de la cámara al centro del circulo ubicado por encima del
cilindro tomando siempre para todos estos casos el valor del punto 𝒛𝑪𝑶 = 𝒛𝑹𝑪 = 0.09m.
La posición 𝒓𝑹𝑪 fue declarada constante ya que las bases que se relacionan por este vector no
cambian en el tiempo así mismo se consideraron medidas en metros.

Figura 42. Vectores de posición obtenidos desde el sistema base 𝑋𝐹 y 𝑌𝐹 de la cámara al


objeto.
Fuente: Elaboración propia

INGENIERÍA MECATRÓNICA 63
UNIVERSIDAD NACIONAL DE TRUJILLO
Dentro de la imagen obtenida por la cámara también se realizan transformaciones para obtener
los vectores 𝒓𝑩𝑭 𝑪𝑪 , 𝒓𝑩𝑭 𝑩𝑴 y 𝒓𝑩𝑴 𝑪𝑪, donde todos están referidos al sistema de referencia de
la foto 𝑋𝐹 y 𝑌𝐹 , la distancia real de 𝒓𝑩𝑭 𝑩𝑴 está definido anticipadamente y constante en
metros.

Figura 43. Obtención de distancias verticales y horizontales en pixeles de la imagen(a).


Calibración de la relación de distancia vertical en pixeles a metros. (b)Calibración de la
relación de distancia horizontales en pixeles a metros.
Fuente: Elaboración propia

Proseguimos con la obtención de posiciones, pero antes para ello primero se calibra la
conversión de pixeles a metros de forma horizontal y vertical, nosotros utilizamos una escuadra
de 20.2 cm de distancia, en la foto obtenemos la distancia de pixeles de forma vertical y la
distancia de pixeles de forma horizontal, y se relaciona dicha distancia a los 20.2 cm de distancia
real, de dicha forma obtenemos la conversión de pixeles de la cámara a distancia en metros
reales.
0.202 0.202
𝑅𝑝𝑥 = , 𝑅𝑝𝑦 =
245 250

Donde 𝑅𝑝𝑥 𝑦 𝑅𝑝𝑦 con las relaciones de posiciones en x e y, simultáneamente.


La posición real 𝒓𝑩𝑭 𝑪𝑪 se obtiene en pixeles, y con la relación antes obtenida se obtiene dicha
posición en metros, lo que se hace posteriormente es restar las posiciones 𝒓𝑩𝑭 𝑩𝑴 y 𝒓𝑩𝑭 𝑪𝑪 para
obtener la posición 𝒓𝑩𝑴 𝑪𝑪 referida en el sistema coordenado del punto 𝐵𝑀.

𝒓𝑪𝑶 = 𝒓𝑩𝑴 𝑪𝑪 = 𝒓𝑩𝑭 𝑪𝑪 − 𝒓𝑩𝑭 𝑩𝑴

INGENIERÍA MECATRÓNICA 64
UNIVERSIDAD NACIONAL DE TRUJILLO
El vector 𝒓𝑪𝑶 fue obtenido desde la imagen de la cámara y es 𝒓𝑩𝑴 𝑪𝑪, ahora el siguiente paso es
definir un sistema de referencia congruente al que nosotros estamos utilizando, por ello
necesitamos utilizar la matriz de rotación del sistema 𝑋𝐵𝑀 y 𝑌𝐵𝑀 sobre el eje 𝑋𝐵𝑀 para obtener
el nuevo sistema de referencia 𝑋𝐵𝑀𝑁 y 𝑌𝐵𝑀𝑁 , y así obtener el vector 𝑟𝐶𝑂 referido a este sistema
de coordenadas .
1 0 0
𝐵𝑀
𝑅𝐵𝑀𝑁 = [0 cos 𝜃 − sin 𝜃 ] 𝑑𝑜𝑛𝑑𝑒 𝜃 = 180°
0 sin 𝜃 cos 𝜃
1 0 0
𝐵𝑀
𝑅𝐵𝑀𝑁 = [0 −1 0 ]
0 0 −1

4.5.3. GENERACIÓN DE TRAYECTORIAS:


Una vez hallada la cinemática directa y la cinemática inversa procedemos a generar las
trayectorias por las que pasaran las variables articulares del robot.
Definimos 4 trayectorias que conjuntamente generan una sola trayectoria para el brazo robótico.

Trayectoria 1-2 Del punto de origen del robot a el punto final donde se encuentra el cilindro,
este punto es identificado, escalado al plano (x,y,z) mediante procesamiento de imágenes y
mediciones físicas.

Trayectoria 2-3 Levantamiento del objeto del cilindro, el eslabón 2 realiza una trayectoria para
poder sostener el peso del cilindro, es decir se retrae.

Trayectoria 3-4 Del punto identificado mediante procesamiento de imágenes al punto definido
en la matriz.

Trayectoria 4-1 Del punto definido en la matriz al punto establecido como origen del robot.

Una vez definidas nuestras trayectorias que seguirá el robot vamos a definir el proceso de cómo
se harán.

INGENIERÍA MECATRÓNICA 65
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 44. Trayectoria general del Manipulador


Fuente: Elaboración propia
Trayectoria 1-2:

El punto fundamental que necesitamos es el punto de posición del cilindro, como se ha dicho
este se halla mediante procesamiento de imágenes, luego es reemplazado en la cinemática
inversa para para poder obtener los valores de 𝑞12 , 𝑞22 , y 𝑞32 como ya contamos con los valores
de la posición inicial del robot que son 𝑞11 = −45, 𝑞21 = 84, y 𝑞31 = −45; a partir de ello se
muestrea e interpola en el espacio articular mediante un splin de orden quinto, el cual nos brinda
la trayectoria deseada en el tiempo que se considere necesario. Se realiza una función en Matlab
la cual será mostrada en el Anexo VI.

Trayectoria 2-3

Esta trayectoria es generada por el eslabón 2 al retraerse para poder sostener el peso del cilindro
y movilizarlo, es de tipo lineal mediante una función desarrollada en Matlab, que será adjuntada
en el Anexo VII.

Trayectoria 3-4

Para esta trayectoria se tiene que definir el punto deseada a donde se llevara el cilindro estos
puntos son medidos físicamente y predeterminados para cada tipo de cilindro, una vez conocidos
ambos puntos se aplica la cinemática inversa para saber los valores en el espacio articular, para

INGENIERÍA MECATRÓNICA 66
UNIVERSIDAD NACIONAL DE TRUJILLO
luego muestrear e interpolar mediante un splin de orden quinto, el cual nos da la trayectoria en
variables articulares.

Trayectoria 4-1

Finalmente, para el retorno del robot del punto de matriz de cilindros a su posición inicial se
utiliza una trayectoria lineal, generada por la función mencionada antes.

Cabe recalcar que el movimiento de la garra para poder sostener el cilindro es definido
previamente de acuerdo a los diferentes diámetros de cilindros que utilizamos.

INGENIERÍA MECATRÓNICA 67
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 5:

Resultados y Discusiones

5.1.RESULTADOS DEL ANÁLISIS CINEMÁTICO:

Cinemática directa:

Cinemática inversa:
Matriz de variables articulares 𝑄 = 𝑓(𝑞1, 𝑞2, 𝑞3):

INGENIERÍA MECATRÓNICA 68
UNIVERSIDAD NACIONAL DE TRUJILLO

Cinemática diferencial:

Matriz Jacobiana de velocidades 𝐽 = 𝑓(𝑞1, 𝑞2, 𝑞3)

INGENIERÍA MECATRÓNICA 69
UNIVERSIDAD NACIONAL DE TRUJILLO
5.2. RESULTADOS DEL ANÁLISIS ESTÁTICO:

Fuerzas articulares:

Pares articulares:

INGENIERÍA MECATRÓNICA 70
UNIVERSIDAD NACIONAL DE TRUJILLO

INGENIERÍA MECATRÓNICA 71
UNIVERSIDAD NACIONAL DE TRUJILLO
5.3.RESULTADOS DEL ANÁLSIS DINÁMICO: FORMULACIÓN LAGRANGE - EULER:

INGENIERÍA MECATRÓNICA 72
UNIVERSIDAD NACIONAL DE TRUJILLO
5.4.RESULTADOS DE LA GENERACION DE TRAYECTORIAS:
Se muestran los resultados de las trayectorias de las variables articulares interpoladas para el
ordenamiento de un cilindro aleatorio. En las gráficas se puede observar los puntos iniciales y
finales de cada trayectoria, así como las posiciones y el tiempo.

Trayectoria 1-2

Figura 45. Trayectorias 1-2 para q1, q2 y q3 del Manipulador


Fuente: Elaboración propia
Trayectoria 3-4

Figura 46. Trayectorias 3-4 para q1, q2 y q3 del Manipulador


Fuente: Elaboración propia

INGENIERÍA MECATRÓNICA 73
UNIVERSIDAD NACIONAL DE TRUJILLO
Trayectoria 4-1

Figura 47. Trayectorias 3-4 para q1, q2 y q3 del Manipulador


Fuente: Elaboración propia

INGENIERÍA MECATRÓNICA 74
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 6:

Conclusiones

 Se logró implementar un sistema robótico que satisface la necesidad de ordenamiento


de cilindros, el cual consta de un brazo robótico articular de 3GDL.

 Durante el desarrollo del diseño conceptual, se detalló la necesidad que se deseaba


solucionar, a partir de ello se seleccionó de acuerdo a nuestros requerimientos mediante
una carta de comparación por pares el adecuado mecanismo para la solución de este
problema, el cual que constó de un brazo antropomórfico de 3GDL. Se utilizó técnicas
como la caja negra, la caja de cristal y la matriz morfológica para detallar las
especificaciones del brazo robótico a desarrollar.

 Con el objetivo de obtener las matrices de inercia para cada eslabón, se realizó el diseño
del robot manipulador de 3GDL en el software de Solidworks.

 Se realizó la cinemática directa e inversa del brazo de 3GDL, mediante la técnica clásica
de matrices de transformación homogénea y parámetros de Denavit Hartenberg, a cuál
es utilizada para el control cinemático y generación de trayectorias.

 Se realizó la dinámica Euler-Lagrange, siguiendo con la temática desarrollada a lo largo


del curso, sin embargo, cabe recalcar que la dinámica no se utiliza en el desarrollo de la
implementación del brazo de robótico, ya que el proyecto se limita a realizar un control
cinemático y el control dinámico no se desarrolló en el presente proyecto.

 Se implementó la estructura mecánica que consta de, una matriz donde se colocaran los
cilindros, un soporte vertical en el cual contiene en la parte superior la cámara web que
capta él plano horizontal, en donde se distribuirá los cilindros a ordenar.

INGENIERÍA MECATRÓNICA 75
UNIVERSIDAD NACIONAL DE TRUJILLO

 Para la generación de trayectorias se definen cuatro trayectorias que unidas generan una
trayectoria la cual lleva un cilindro desde la posición que detecta la cámara hacia la
matriz que es la posición deseada o de referencia. Dos trayectorias son generadas a partir
de un splin quintico y las otras dos se generan con una función de movimiento lineal
desarrollada ambas en Matlab. Cabe recalcar que todo el procesamiento, tanto de
imágenes como los cálculos de la cinemática inversa y la generación de trayectorias se
realiza en el entorno de Matlab en tiempo real para luego mandar ordenes al brazo
robótico mediante la tarjeta Arduino uno.

INGENIERÍA MECATRÓNICA 76
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 7:

Recomendaciones

 Para la disposición de los cilindros se sugiere fijar el área de trabajo del robot en donde
pueda acceder a los cilindros sin complicaciones y para evitar que se encuentre fuera de
rango.

 Darle una altura de 60 cm aproximadamente a la cámara para tener la visión completa y


necesaria del área de trabajo.

 Usar una escala de buena precisión como un vernier para referenciar la base del robot a
la cámara.

 En caso no se pueda hacer una buena transformación de la referencia de la base del robot
con la cámara, se sugiere que los ejes de la cámara estén completamente alineados con
los ejes del robot.

 Los pesos de los cilindros deben ser lo considerablemente livianos de acuerdo al


actuador que se emplee en el manipulador robótico.

 La garra o gripper de preferencia debe tener una superficie de contacto áspera para evitar
que los objetos a manipular se deslicen.

 Para que no haya complicaciones con la detección de los cilindros, se recomienda una
buena iluminación del área de trabajo.

INGENIERÍA MECATRÓNICA 77
UNIVERSIDAD NACIONAL DE TRUJILLO

Referencias Bibliográficas

Barrientos, A. (1997). Fundamentos de robótica. Madrid: McGRAW-HILL.

Barrientos, A., Peñín, L. F., Balaguer, C., & Aracil, R. (2007). Fundamentos de Robótica.
Madrid: McGraw-Hill.

Image Processing Toolbox. Retrieved from https://la.mathworks.com/products/image.html

IRF. (2018). World Robotics - Industrial Robot Report. Global industrial robot sales doubled
over the past five years. Tokio.

Lee, C., Gonzales, R., & Fu, K. (2008). Robotics: Control, Sensing, Vision, and Intelligence.
Estados Unidos: McGraw-Hill.

Mahanta, G. B., Deepak, B. B., Dileep, M., Biswal, B. B., & Pattanayak, S. K. (2019). Prediction
of Inverse Kinematics for a 6-DOF Industrial Robot Arm Using Soft Computing
Techniques. Springer Nature, 519.

Saha, S. K. (2010). Introducción a la robótica. México D.F.: Mc Graw-Hill.

Set Properties for Webcam Acquisition. Retrieved from


https://la.mathworks.com/help/supportpkg/usbwebcams/ug/set-properties-for-webcam-
acquisition.html
Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2008). Robotics: Modelling, Planning and
Control. Italia: Springer.

Snapshot. Retrieved from


https://la.mathworks.com/help/supportpkg/usbwebcams/ug/webcam.snapshot.html?searchHig
hlight=snapshot&s_tid=doc_srchtitle

Tsai, L.-W. (1999). Robot Analysis The Mechanics of Serial and Parallel Manipulators . New
York: John Wiley & Sons, Inc.

Webcam. Retrieved from


https://la.mathworks.com/help/supportpkg/usbwebcams/ug/webcam.html?searchHighlight=we
bcam&s_tid=doc_srchtitle

INGENIERÍA MECATRÓNICA 78
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXOS

ANEXO I: ALGORITMO DE CINEMÁTICA DIRECTA


%% CINEMATICA DIRECTA
syms q1 q2 q3
L1=0.07;
L2=0.124;
L3=0.16;
%PARAMETROS DH
theta=[q1;q2;q3];
d=[L1;0;0];
a=[0;L2;L3];
alpha=[pi/2;0;0];
%MATRICES DE TRANSFORMACION HOMOGENEA
T01=denavit(theta(1),d(1),a(1),alpha(1));
T12=denavit(theta(2),d(2),a(2),alpha(2));
T23=denavit(theta(3),d(3),a(3),alpha(3));
T03=vpa(simplify(T01*T12*T23),5)

ANEXO II: ALGORITMO PARA CINEMÁTICA INVERSA


%% CINEMATICA INVERSA
syms x y z
L1=0.07;
L2=0.124;
%L3=0.135;
L3=0.16;
codo=1;
R=sqrt(x^2+y^2);
r=sqrt((z-L1)^2+R^2);
Q(1,1)=atan(y/x);
cosq3=(r^2-L2^2-L3^2)/(2*L2*L3);
%Q(3,1)=atan(sqrt(1-cosq3^2)/cosq3);
if codo==1
%codo arriba
Q(3,1)=atan(-sqrt(1-cosq3^2)/cosq3);
%Q(2,1)=atan((z-
L1)/sqrt(x^2+y^2))+atan((L3*sin(Q(3,1)))/(L2+L3*cos(Q(3,1))));

else
%codo abajo
Q(3,1)=atan(sqrt(1-cosq3^2)/cosq3);
%Q(2,1)=atan((z-L1)/sqrt(x^2+y^2))-
atan((L3*sin(Q(3,1)))/(L2+L3*cos(Q(3,1))));

end
Q(2,1)=atan((z-L1)/sqrt(x^2+y^2))-
atan((L3*sin(Q(3,1)))/(L2+L3*cos(Q(3,1))));
Q=Q*180/pi

INGENIERÍA MECATRÓNICA 79
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXO III: FUNCION PARA CINEMATICA DE DIFERENCIAL

function [ J ] = jac3( theta,d,a,alfa,e_1,e_2,e_3 )


%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here

T0_1=denavit(theta(1),d(1),a(1),alfa(1));
T1_2=denavit(theta(2),d(2),a(2),alfa(2));
T2_3=denavit(theta(3),d(3),a(3),alfa(3));

%Calculamos la MTH del eslabon final con respecto a la base


T0_2=T0_1*T1_2;
T0_3=T0_1*T1_2*T2_3;

%Obtenemos la posicion del efector final en terminos de las variables


%articulares, la extraemos de la matriz T0_5
P=T0_3(1:3,4);
%Para determinar el jacobiano, empezaremos por las velocidades angulares
Z0=[0;0;1];
Z1=T0_1(1:3,3);
Z2=T0_2(1:3,3);

%A continuacion hallaremos las velocidades lineales


%Primero extraemos la posicion de cada uno de los eslabones con respecto a
%la base
P0=[0;0;0];
P1=T0_1(1:3,4);
P2=T0_2(1:3,4);

%Ahora a la posicion del efector final le restamos estos valores


P3_0=P-P0;
P3_1=P-P1;
P3_2=P-P2;

%Y a estos lo multiplicamos por los Z hallados previamente


Jv1=cross(Z0,P3_0);
Jv2=cross(Z1,P3_1);
Jv3=cross(Z2,P3_2);

%Finalmente mi matriz Jacobiana es:


J=[Jv1 Jv2 Jv3 ;e_1*Z0 e_2*Z1 e_3*Z2 ]
%Jacobiano inverso
%J_1=pinv(A);
End

INGENIERÍA MECATRÓNICA 80
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXOS IV: ALGORITMO PARA DINÁMICA LAGRANGE - EULER:

%--------------------------------------------------------------------------
%Declarando simbólicos:
%--------------------------------------------------------------------------

syms Ixx1 Ixy1 Ixz1 Iyy1 Iyz1 Izz1


syms Ixx2 Ixy2 Ixz2 Iyy2 Iyz2 Izz2
syms Ixx3 Ixy3 Ixz3 Iyy3 Iyz3 Izz3
syms L1 L2 L3 m1 m2 m3
syms q1 q2 q3 q1p q2p q3p q1pp q2pp q3pp g pi

%--------------------------------------------------------------------------
%Parámetros de Denavit-Hartenberg:
%--------------------------------------------------------------------------

theta=[q1;q2;q3];
d=[L1;0;0];
a=[0;L2;L3];
alpha=[pi/2;0;0];

%--------------------------------------------------------------------------
%Matrices de transformación homogénea:
%--------------------------------------------------------------------------

T01=denavit(theta(1),d(1),a(1),alpha(1));
T12=denavit(theta(2),d(2),a(2),alpha(2));
T23=denavit(theta(3),d(3),a(3),alpha(3));

%--------------------------------------------------------------------------
%M.T.H. de cada eslabón respecto a la base:
%--------------------------------------------------------------------------

T02=T01*T12;
T03=T01*T12*T23;

%--------------------------------------------------------------------------
%Matrices de rotación de las MTH anteriores:
%--------------------------------------------------------------------------

R01=T01(1:3,1:3);
R02=T02(1:3,1:3);
R03=T03(1:3,1:3);

%--------------------------------------------------------------------------
%Ubicación de los centros de masa de cada eslabón respecto al origen:
%--------------------------------------------------------------------------

theta_cm=[q1;q2;q3];
d_cm=[L1/2;0;0];
a_cm=[0;L2/2;L3/2];
alpha_cm=[pi/2;0;0];

INGENIERÍA MECATRÓNICA 81
UNIVERSIDAD NACIONAL DE TRUJILLO

T01_cm=denavit(theta_cm(1),d_cm(1),a_cm(1),alpha_cm(1));
T12_cm=denavit(theta_cm(2),d_cm(2),a_cm(2),alpha_cm(2));
T23_cm=denavit(theta_cm(3),d_cm(3),a_cm(3),alpha_cm(3));
T02_cm=T01*T12_cm;
T03_cm=T01*T12*T23_cm;

Xcm1=T01_cm(1,4);
Ycm1=T01_cm(2,4);
Zcm1=T01_cm(3,4);

Xcm2=T02_cm(1,4);
Ycm2=T02_cm(2,4);
Zcm2=T02_cm(3,4);

Xcm3=T03_cm(1,4);
Ycm3=T03_cm(2,4);
Zcm3=T03_cm(3,4);

%--------------------------------------------------------------------------
%Obtención de los Jacobianos de velocidades lineales:
%--------------------------------------------------------------------------

Jv1=[diff(Xcm1,q1) 0 0;
diff(Ycm1,q1) 0 0;
diff(Zcm1,q1) 0 0];
Jv2=[diff(Xcm2,q1) diff(Xcm2,q2) 0 ;
diff(Ycm2,q1) diff(Ycm2,q2) 0 ;
diff(Zcm2,q1) diff(Zcm2,q2) 0];
Jv3=[diff(Xcm3,q1) diff(Xcm3,q2) diff(Xcm3,q3) ;
diff(Ycm3,q1) diff(Ycm3,q2) diff(Ycm3,q3) ;
diff(Zcm3,q1) diff(Zcm3,q2) diff(Zcm3,q3)];

%--------------------------------------------------------------------------
%Obtenemos los vectores Z de las matrices de rotación y el parámetro e:
%--------------------------------------------------------------------------

Z0=[0;0;1];
Z1=R01(1:3,3);
Z2=R02(1:3,3);
Zeros=[0;0;0];
e1=1;
e2=1;
e3=1;

%--------------------------------------------------------------------------
%Obtención de los Jacobianos de velocidades angulares:
%--------------------------------------------------------------------------

Jw1=[e1*Z0 Zeros Zeros];


Jw2=[e1*Z0 e2*Z1 Zeros];
Jw3=[e1*Z0 e2*Z1 e3*Z2];

%--------------------------------------------------------------------------
%Declaración de las matrices de inercia:

INGENIERÍA MECATRÓNICA 82
UNIVERSIDAD NACIONAL DE TRUJILLO
%--------------------------------------------------------------------------

I1=[Ixx1 Ixy1 Ixz1; Ixy1 Iyy1 Iyz1; Ixz1 Iyz1 Izz1];


I2=[Ixx2 Ixy2 Ixz2; Ixy2 Iyy2 Iyz2; Ixz2 Iyz2 Izz2];
I3=[Ixx3 Ixy3 Ixz3; Ixy3 Iyy3 Iyz3; Ixz3 Iyz3 Izz3];

%--------------------------------------------------------------------------
%OBTENCIÓN DE LA MATRIZ D(q)
%--------------------------------------------------------------------------

D=m1*(Jv1.')*Jv1+(Jw1.')*R01*I1*R01.'*Jw1+m2*(Jv2.')*Jv2+(Jw2.')*R02*I2*R02
.'*Jw2+m3*(Jv3.')*Jv3+(Jw3.')*R03*I3*R03.'*Jw3;

%--------------------------------------------------------------------------
%OBTENCIÓN DE LA MATRIZ DE CORIOLIS Y CENTRÍPETA
%--------------------------------------------------------------------------

%Para i=1
C111=(1/2)*(diff(D(1,1),q1)+diff(D(1,1),q1)-diff(D(1,1),q1));
C112=(1/2)*(diff(D(1,1),q2)+diff(D(1,2),q1)-diff(D(1,2),q1));
C113=(1/2)*(diff(D(1,1),q3)+diff(D(1,3),q1)-diff(D(1,3),q1));
C(1,1)=C111*q1p+C112*q2p+C113*q3p;

C121=(1/2)*(diff(D(1,2),q1)+diff(D(1,1),q2)-diff(D(2,1),q1));
C122=(1/2)*(diff(D(1,2),q2)+diff(D(1,2),q2)-diff(D(2,2),q1));
C123=(1/2)*(diff(D(1,2),q3)+diff(D(1,3),q2)-diff(D(2,3),q1));
C(1,2)=C121*q1p+C122*q2p+C123*q3p;

C131=(1/2)*(diff(D(1,3),q1)+diff(D(1,1),q3)-diff(D(3,1),q1));
C132=(1/2)*(diff(D(1,3),q2)+diff(D(1,2),q3)-diff(D(3,2),q1));
C133=(1/2)*(diff(D(1,3),q3)+diff(D(1,3),q3)-diff(D(3,3),q1));
C(1,3)=C131*q1p+C132*q2p+C133*q3p;

%Para i=2
C211=(1/2)*(diff(D(2,1),q1)+diff(D(2,1),q1)-diff(D(1,1),q2));
C212=(1/2)*(diff(D(2,1),q2)+diff(D(2,2),q1)-diff(D(1,2),q2));
C213=(1/2)*(diff(D(2,1),q3)+diff(D(2,3),q1)-diff(D(1,3),q2));
C(2,1)=C211*q1p+C212*q2p+C213*q3p;

C221=(1/2)*(diff(D(2,2),q1)+diff(D(2,1),q2)-diff(D(2,1),q2));
C222=(1/2)*(diff(D(2,2),q2)+diff(D(2,2),q2)-diff(D(2,2),q2));
C223=(1/2)*(diff(D(2,2),q3)+diff(D(2,3),q2)-diff(D(2,3),q2));
C(2,2)=C221*q1p+C222*q2p+C223*q3p;

C231=(1/2)*(diff(D(2,3),q1)+diff(D(2,1),q3)-diff(D(3,1),q2));
C232=(1/2)*(diff(D(2,3),q2)+diff(D(2,2),q3)-diff(D(3,2),q2));
C233=(1/2)*(diff(D(2,3),q3)+diff(D(2,3),q3)-diff(D(3,3),q2));
C(2,3)=C231*q1p+C232*q2p+C233*q3p;

%Para i=3
C311=(1/2)*(diff(D(3,1),q1)+diff(D(3,1),q1)-diff(D(1,1),q3));
C312=(1/2)*(diff(D(3,1),q2)+diff(D(3,2),q1)-diff(D(1,2),q3));
C313=(1/2)*(diff(D(3,1),q3)+diff(D(3,3),q1)-diff(D(1,3),q3));
C(3,1)=C311*q1p+C312*q2p+C313*q3p;

INGENIERÍA MECATRÓNICA 83
UNIVERSIDAD NACIONAL DE TRUJILLO

C321=(1/2)*(diff(D(3,2),q1)+diff(D(3,1),q2)-diff(D(2,1),q3));
C322=(1/2)*(diff(D(3,2),q2)+diff(D(3,2),q2)-diff(D(2,2),q3));
C323=(1/2)*(diff(D(3,2),q3)+diff(D(3,3),q2)-diff(D(2,3),q3));
C(3,2)=C321*q1p+C322*q2p+C323*q3p;

C331=(1/2)*(diff(D(3,3),q1)+diff(D(3,1),q3)-diff(D(3,1),q3));
C332=(1/2)*(diff(D(3,3),q2)+diff(D(3,2),q3)-diff(D(3,2),q3));
C333=(1/2)*(diff(D(3,3),q3)+diff(D(3,3),q3)-diff(D(3,3),q3));
C(3,3)=C331*q1p+C332*q2p+C333*q3p;

%--------------------------------------------------------------------------
% OBTENCIÓN DE LA MATRIZ GRAVEDAD:
%--------------------------------------------------------------------------

%Declaramos el vector gravedad:


g0=[0;0;-g];

%Obtenemos la transpuesta de los Jacobianos de velocidades lineales:


Jv1T=Jv1.';
Jv2T=Jv2.';
Jv3T=Jv3.';

%Determinando la matriz gravedad:


G=Jv1T*m1*g0+Jv2T*m2*g0+Jv3T*m3*g0;

%--------------------------------------------------------------------------
% FINALMENTE: OBTENCIÓN DE TAU:
%--------------------------------------------------------------------------

tau=D*[q1pp;q2pp;q3pp]+C*[q1p;q2p;q3p]-G;

%--------------------------------------------------------------------------
% REEMPLAZANDO VALORES E IMPRIMIENDO LO SOLICITADO:
%--------------------------------------------------------------------------

disp('Tau Final:')
tauF=subs(tau,[m1,m2,m3,L1,L2,L3,g],[0.20959,0.12948,0.06855,0.07,0.124,0.1
6,9.81]);
tauF1=subs(tauF,[Ixx1,Ixy1,Ixz1,Iyy1,Iyz1,Izz1],[6993975830,246718770,-
3249859320,8578609430,-481040810,2018142070]);
tauF2=subs(tauF1,[Ixx2,Ixy2,Ixz2,Iyy2,Iyz2,Izz2],[5119988700,-1279369650,-
1916573180,4519120670,2202839690,2856188930]);
tauFinal=simplify(subs(tauF2,[Ixx3,Ixy3,Ixz3,Iyy3,Iyz3,Izz3],[2649775030,-
1172113540,-687952060,1642316020,1096760420,2621675830]));
pretty(vpa(tauFinal,4))

INGENIERÍA MECATRÓNICA 84
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXOS V: ALGORITMO PARA GENERAR EL ESPACIO DE TRABAJO


%% ESPACIO DE TRABAJO

clc, clear
i=1;
for q1=0:0.05:pi
for q2=0.1745:0.05:2.7751
for q3=-1.466:0.05:1.6551
Px(i)=0.08*cos(q1 + q2 + q3) + 0.062*cos(q1 - 1.0*q2) +
0.062*cos(q1 + q2) + 0.08*cos(q2 - 1.0*q1 + q3);
Py(i)=0.08*sin(q1 + q2 + q3) + 0.062*sin(q1 - 1.0*q2) +
0.062*sin(q1 + q2) - 0.08*sin(q2 - 1.0*q1 + q3);
Pz(i)=0.16*sin(q2 + q3) + 0.124*sin(q2) + 0.07;
i=i+1;
end
end
end

plot(Px,Py)
title('ESPACIO DE TRABAJO EN EL PLANO XY')
hold on
grid on
xlabel('X[m]');
ylabel('Y[m]');
figure

plot(Py,Pz)
title('ESPACIO DE TRABAJO EN EL PLANO XY')
hold on
grid on
xlabel('Y[m]');
ylabel('Z[m]');
figure

plot3(Px,Py,Pz)
title('ESPACIO DE TRABAJO EN EL PLANO XYZ')
hold on
grid on
xlabel('X[m]');
ylabel('Y[m]');
zlabel('Z[m]');

INGENIERÍA MECATRÓNICA 85
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXOS VI: ALGORITMO DE GENERACION DE TRAYECTORIA CON SPLIN


QUINTICO:
% UNIVERSIDAD NACIONAL DE TRUJILLO
clc, clear, close all
%% HALLAMOS PARAMETROS
t=[ti tf];
q=[qi qf];
qp=[0 0];
qpp=[0 0];

n=length(q);
if n~=length(t)
error('ERROR en i_cubico: Las dimensiones de q y t deben ser iguales')
end

% obtiene los coeficientes de los polinomios


for i=1:n-1
ti=t(i);
tii=t(i+1);
if tii<=ti
error ('ERROR en i_cubico. Los tiempos deben estar ordenados: t(i)
debe ser < t(i+1)')
end
T=tii-ti;
TT(:,i)=[ti;tii];
a(i)=q(i);
b(i)=qp(i);
c(i)=qpp(i)/2;
d(i)=10*(q(i+1)-q(i))/(T^3)-
(2/(T^2))*(2*qp(i+1)+3*qp(i))+(0.5/T)*(qpp(i+1)-3*qpp(i));
e(i)=(-15/(T^4))*(q(i+1)-q(i))+(1/(T^3))*(7*qp(i+1)+8*qp(i))-
(0.5/(T^2))*(2*qpp(i+1)-3*qpp(i));
f(i)=(6/(T^5))*(q(i+1)-q(i))-
(3/(T^4))*(qp(i+1)+qp(i))+(1/(2*(T^3)))*(qpp(i+1)-qpp(i));
end

P=[TT;a; b; c; d; e; f].'
%% PLOTEO
npuntos=200; %numero de puntos a pintar por intervalo
PL=[];
%clf
%hold on
% Obtiene los coeficientes de los splines cubicos
% [ti,tf,a,b,c,d] para cada intervalo

for j=1:n-1
ti =P(j,1);
tf =P(j,2);
a =P(j,3);
b =P(j,4);
c =P(j,5);

INGENIERÍA MECATRÓNICA 86
UNIVERSIDAD NACIONAL DE TRUJILLO
d =P(j,6);
e =P(j,7);
f =P(j,8);
inc=(tf-ti)/npuntos;
for tt=ti:inc:tf
qt=a+b*(tt-ti)+c*(tt-ti)^2 +d*(tt-ti)^3+e*(tt-ti)^4+f*(tt-ti)^5;
qdt=b+2*c*(tt-ti)+3*d*(tt-ti)^2+4*e*(tt-ti)^3+5*f*(tt-ti)^4;
qddt=2*c+6*d*(tt-ti)+12*e*(tt-ti)^2+20*f*(tt-ti)^3;
PL=vertcat(PL,[tt,qt,qdt,qddt]);
end
end

%%
% POSICIONES
plot (PL(:,1),PL(:,2),'Linewidth',2)
hold on
grid on
plot (t,q,'o','Linewidth',2)
title('Posicion de q en el tiempo')
xlabel('t')
ylabel('q')
legend('Trayectoria interpolada', 'Puntos establecidos')
figure

%VELOCIDADES
plot (PL(:,1),PL(:,3),'Linewidth',2)
hold on
grid on
plot (t,qp,'o','Linewidth',2)
title('Velocidad de q en el tiempo')
xlabel('t')
ylabel('q')
legend('Trayectoria interpolada', 'Puntos establecidos')

INGENIERÍA MECATRÓNICA 87
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXOS VII: FUNCIÓN DE MOVIMIENTO LINEAL PARA LAS TRAYECTORIAS:


function move(Control,motor,angle)

if 180>angle
if angle>0
dif=abs(angle-servoRead(Control,motor));
if angle>=servoRead(Control,motor)
for i=1:dif
servoWrite(Control,motor,servoRead(Control,motor)+1);
pause(0.017);
end
else
for i=1:dif
servoWrite(Control,motor,servoRead(Control,motor)-1);
pause(0.017);
end
end
else
fprintf('Fuera de Rango');
end
else
fprintf('Fuera de Rango');
% if (angle-leer)>0
% m=(80+90-leer):1:(angle);
% else
% m=(80+90-leer):-1:(angle);
% end

end

INGENIERÍA MECATRÓNICA 88
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXO VIII: INTERFAZ GRÁFICA DESARROLLADA EN MATLAB

INGENIERÍA MECATRÓNICA 89
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXO IX: CRONOGRAMA DE ACTIVIDADES DEL DESARROLLO DEL PROYECTO

INGENIERÍA MECATRÓNICA 90
UNIVERSIDAD NACIONAL DE TRUJILLO

ANEXO X: TABLA DE COSTOS TOTALES DEL PROYECTO

N° DESCRIPCIÓN UNIDAD CANT. P/U (S/.) TOTAL (S/.)


MATERIALES
1 TinkerKit Braccio Robot Unidad 1 718.71 718.71
2 Cámara web logitech C120 Unidad 1 72.2 72.2
3 Plancha de MDF de 70x70 cm Plancha 2 15 30
4 Plancha de MDF de 40x40 cm Plancha 1 3.9 3.9
5 Pintura en aerosol Latas 2 8.1 16.2
6 Cilindros de madera Unidad 4 5 20
7 Lijas Plancha 3 1.5 4.5
8 Terocal Tarro 1 8 8
9 Varilla roscada de 1m Unidad 1 21.9 21.9
10 Desarmador tipo estrella Unidad 2 11 22
11 Desarmador tipo planar Unidad 2 11 22
12 Sierra de corte Unidad 1 8.9 8.9
15 Pernos Unidad 1 3.5 3.5
16 Arandelas Unidad 1 2 2
HERRAMIENTAS Y EQUIPOS
17 Taladro Unidad 1 349 349
18 Pistola de silicona Unidad 1 18.9 18.9
19 Cincel Unidad 3 56 168
20 Martillo Unidad 2 16 32
SERVICIOS
21 Envío del TinkerKit Braccio Unidad 1 272.51 272.51
22 Movilidad PEN 1 50 50
TOTALES 1844.22

INGENIERÍA MECATRÓNICA 91
UNIVERSIDAD NACIONAL DE TRUJILLO
ANEXOS XI: CÓDIGO GENERAL

ANEXOS XII: PLANOS DE LAS PIEZAS DISEÑADAS EN SOLIDWORKS

INGENIERÍA MECATRÓNICA 92
8 7 6 5 4 3 2 1

F F

E E

D D

C C

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO ENSAMBLE FINAL
PESO: ESCALA:1:10 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

E E

D D

C C

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO GRIPPER
PESO: ESCALA:1:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

R5

40
R5

2
7

R5
.5

5
0
23
10

E E

C
5
18

10
14

R5
1.
50

D D
DETALLE C

R5
ESCALA 1 : 1

1.50
5

DETALLE B
ESCALA 1 : 1

C C
2

B
1.50

A
DETALLE A
ESCALA 1 : 1
5

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA 1
PESO: ESCALA:1:2 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

20
10
F F

E E

15.67
10

3
24

D D
2.9

5.
90
7.90

C C
4
3

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA 2
PESO: ESCALA:5:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

R84.59
F F

16
60
E E

20
9.50 3
R3
0

D D

4.50
5
40.50

C C
4.

50
50

5
B 21 3 B

5
28 5
4

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA 3
PESO: ESCALA:1:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

33.04
F F

DETALLE E
200

10
ESCALA 1 : 5

E
E E
700

D D

620

18
C C
F
20
20 540 20 620

DETALLE F
ESCALA 1 : 5
5

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
MDF PIEZA 4
PESO: ESCALA:1:10 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

41.95
19.27 77.75

E 50 E

20
16
R10
R10

D D

1.50

R1
0
1.50

R1

0
C C

38
23

21
5

20.39 42 58

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
MDF PIEZA 5
PESO: ESCALA:1:2 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F 35 F

45
R2
5
E E

50
G

1.
D D

DETALLE G
23 ESCALA 2 : 1 24.30
3

C C

49

65
B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA 6
PESO: ESCALA:1:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

10
E E

D D

C C
600

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
METAL PIEZA 7
PESO: ESCALA:1:5 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

15

E E

30
10

D D

C C

200

3
B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
MDF PIEZA 8
PESO: ESCALA:1:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

10
3
E E

40

D D

C C
63

B B

43 UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
METAL PIEZA 9
PESO: ESCALA:2:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F 3.50 F

5
R2
30

E E

D D

18
66 5.51

C C
20

3
B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO CÁMARA
PESO: ESCALA:1:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

E E

75
D D

C 80 C

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
MADERA PIEZA12
PESO: ESCALA:1:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

189
F F

E E
189

D D

90

3
189
C C
65

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
MADERA PIEZA13
PESO: ESCALA:1:2 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

E E
3

D D

°
157.65

19.85 87 7.2
27. 1

3.5
5
C C
3

21.47 53
13.
R5

22
B B
.8 7°
235

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA14
PESO: ESCALA:2:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

E E
2.70

D D

31
R3.5

21.62 3

30
3.
0

C C
3

B B
R3
.1
5

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA15
PESO: ESCALA:5:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

3
E 17.68 E
13.28

2.70

30
3.
6
.3

65
16

3.
R1
R3
D D

221
R1

.58°
2

3.30
28.40

C C

.36°
208
17

B B
.45

17
R4.19

.3
5

0
.8
R4

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA16
PESO: ESCALA:2:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

E E

47.04
D D

31

R1
2.
09

R4
C C

3
3.20
B B
63
4.
R1

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA17
PESO: ESCALA:2:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
3
8 7 6 5 4 3 2 1

F F

E E

D D

16.93

R4

7.50°
C C

3.20

3
3

R1
3

2.
16.93

09
B 2.68 B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA18
PESO: ESCALA:2:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

5
E E

D D

C C
12

B 3 B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA19
PESO: ESCALA:5:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

R3
F F

E E

12

D D

20

50
1.
14

R3
C 5.25 C

9.25
R2
.7
5

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA20
PESO: ESCALA:5:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

E E

D D

10

17
.5
0
C C

B B

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO PIEZA21
PESO: ESCALA:2:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1

11.15
F F

5
.2
R2
18
18

E E
0

12

R6
R1

.8
0
D D
5.90 27.41

4
2.50
C C

37.50
27

B B
40.50 7 1

UNIVERSIDAD TÍTULO:

UNIVERSIDAD NACIONAL DE TRUJILLO


ROBOT MANIPULADOR DE 3
CARRERA

INGENIERÍA MECATRÓNICA
GDL
A A
MATERIAL:
A3
PLASTICO SERVO MOTOR
PESO: ESCALA:2:1 HOJA 1 DE 1

8 7 6 5 4 3 2 1

S-ar putea să vă placă și