Está en la página 1de 100

UNIVERSIDAD NACIONAL DE TRUJILLO

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

“Modelado, simulación e implementación de un robot de 5 GDL


como plataforma educativa para el laboratorio de Robótica de
Ingeniería Mecatrónica”

Trabajo de Investigación formativa

Robótica
AUTORES :

• Cabrera Gallardo, Carlos Gabriel


• Corcuera Araujo, Carlos Bitner
• Fernandez Reyes, José María
• Leyva Argomedo, Davis Joel
• Montoya Herrera, Marcelo José
• Olortegui Revoredo, Josué Eduardo
• Rocha Montoya, Carlos Adrian
• Rosales Cano, Dickson Scott

DOCENTE : Mg. Ing. Alva Alcántara, Josmell Henry

CICLO : 2022-II

Trujillo, Perú
2023
UNIVERSIDAD NACIONAL DE TRUJILLO

Resumen

En el presente trabajo tuvo por objetivos el modelado, simulación e implementación de un


robot de 5 GDL, con un enfoque al manejo de trayectorias y la ejecución de las mismas tanto
en un entorno simulado como en la realidad. Se partió del planteamiento teórico de la
obtención del modelo cinemático, tanto de manera directa como inversa y diferencial; así
mismo se realizó el planteamiento de la dinámica inversa por Newton-Euler y directa por el
criterio de Walker-Orín. Se realizó el análisis de la estructura del robot a trabajar, realizando
el modelado de cada pieza de acuerdo a las medidas reales. Para la simulación se utilizaron
las herramientas que provee Robotics Operating System, pudiendo generar trayectorias desde
un punto inicial de reposo hasta una postura final deseada al indicar los “pasos” necesarios a
cada motor para su movimiento. La implementación se llevó a cabo, realizándose pruebas
para obtener la conversión de pasos adecuada para cada motor; se realizaron pruebas de
trayectoria, logrando mover el robot a una postura aproximada a la generada por simulación,
y controlando la pinza incorporada al eslabón final.

Palabras Claves: robot, cinemática, dinámica simulación, implementación

INGENIERÍA MECATRÓNICA ii
UNIVERSIDAD NACIONAL DE TRUJILLO

Abstract

In the present work, the objectives were the modeling, simulation and implementation of a
5 GDL robot, with a focus on trajectory management and their execution both in a simulated
environment and in reality. He started from the theoretical approach of obtaining the
cinematographic model, both directly and inversely and differentially; Likewise, the
approach of the inverse dynamics by Newton-Euler and direct by the Walker-Orín criterion
was carried out. The analysis of the structure of the robot to work was carried out, modeling
each piece according to the measurements of the real ones. For the simulation section, the
tools provided by Robotics Operating System were used, being able to generate trajectories
from an initial point of rest to a desired final position by indicating the "steps" necessary for
each motor for its movement. The implementation was carried out, carrying out tests to
obtain the conversion of adequate steps for each motor; trajectory tests were carried out,
managing to move the robot to a position close to that generated by simulation, and
controlling the clamp incorporated into the final link.

Keywords: robot, kinematics, dynamic simulation, implementation

INGENIERÍA MECATRÓNICA iii


UNIVERSIDAD NACIONAL DE TRUJILLO

Tabla de Contenidos

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


1.1. Realidad Problemática ............................................................................................ 1
1.2. Antecedentes........................................................................................................... 1
1.3. Formulación del Problema...................................................................................... 4
1.4. Objetivos................................................................................................................. 4
1.4.1. Objetivo General................................................................................................. 4
1.4.2. Objetivos Específicos ......................................................................................... 4
Capítulo 2 Marco Referencial................................................................................................ 5
2.1. Cinemática .............................................................................................................. 5
2.1.1. Cinemática Directa ........................................................................................... 5
2.1.2. Cinemática Inversa ........................................................................................... 7
2.1.3. Cinemática Diferencial ..................................................................................... 8
2.2. Dinámica................................................................................................................. 9
2.2.1. Dinámica Inversa (Newton-Euler) ................................................................ 10
2.2.2. Dinámica Directa Criterio Walker – Orin ................................................... 12
2.3. ROS ...................................................................................................................... 16
Capítulo 3 Materiales y Métodos (o Caso de Estudio) ........................................................ 17
3.1. Estructura Mecánica del Robot Manipulador ....................................................... 17
3.2. Estructura Mecánica del Robot Manipulador ....................................................... 18
3.3. Análisis del Modelo .............................................................................................. 19
3.4. Análisis Cinemático.............................................................................................. 20
3.5. Análisis Dinámico ................................................................................................ 31
3.6. Simulación y generación de trayectorias .............................................................. 40
3.7. Materiales y componentes .................................................................................... 47
3.8. Ensamblaje............................................................................................................ 51
3.9. Configuración de los motores con sus respectivos drivers ................................... 52
Capítulo 4 Resultados y Discusiones................................................................................... 56
4.1 Resultados................................................................................................................... 56
INGENIERÍA MECATRÓNICA iv
UNIVERSIDAD NACIONAL DE TRUJILLO

4.1.1 Robot de 5GDL ................................................................................................... 56


4.1.1.1 Cinemática Directa ........................................................................................... 56
4.1.1.2 Cinemática Inversa ........................................................................................... 56
4.1.1.3 Cinemática Diferencial ..................................................................................... 57
4.1.1.4 Dinámica Inversa .............................................................................................. 58
4.1.1.5 Dinámica Directa .............................................................................................. 58
4.1.2 Robot de 5GDL ................................................................................................... 59
4.1.3 Resultados de pruebas de los motores con sus drivers ........................................ 61
4.1.4 Control de Gripper ............................................................................................... 63
4.1.5 Movimiento del motor ......................................................................................... 63
4.2 Discusiones ................................................................................................................. 65
Capítulo 5 Conclusiones y Recomendaciones ..................................................................... 66
Referencias Bibliográficas.................................................................................................... 67
Anexos .................................................................................................................................. 68

INGENIERÍA MECATRÓNICA v
UNIVERSIDAD NACIONAL DE TRUJILLO

Lista de Tablas
Tabla 1. Requerimientos Técnicos Funcionales del Robot. [Elaboración Propia] ............... 17
Tabla 2. Parámetros de Denavit-Hartenberg del Robot. [Elaboración Propia] .................... 20
Tabla 3. Motores para la implementación del BCN3D MOVEO 5GDL [Elaboración Propia]
...................................................................................................................................... 48
Tabla 4. Electrónica para la implementación del BCN3D MOVEO 5GDL [Elaboración
Propia] .......................................................................................................................... 49
Tabla 5. Partes mecánicas para la implementación del BCN3D MOVEO 5GDL
[Elaboración Propia] ..................................................................................................... 50
Tabla 6. Configuraciones del switch de cada driver. ............................................................ 61
Tabla 7. Relación de Transmisiones. .................................................................................... 62
Tabla 8. Pasos requeridos ..................................................................................................... 62
Tabla 9 Factores de Transmisión del motor ......................................................................... 62
Tabla 10. Límites de giro de los eslabones. .......................................................................... 63

Lista de Figuras

Figura 1. Diagrama de relación entre cinemática directa e inversa. (Barrientos, 1997) ........ 5
Figura 2. Matriz Jacobiana directa e inversa. (Barrientos, 1997) ........................................... 8
Figura 3. Momentos y fuerzas ejercidos sobre el eslabón i. (Saltarén et al., 2000) ............. 11
Figura 4. Simulación de un robot mediante gemelo digital. (ROS: Home, s. f.) ................. 17
Figura 5. Estructura del Brazo robótico SolidWorks. [Elaboración Propia] ........................ 19
Figura 6. Diagrama simplificado del Robot de 5 GDL. [Elaboración Propia] ..................... 20
Figura 7. Simplificación brazo robótico de 3 GDL. [Elaboración Propia]........................... 23
Figura 8. Análisis de los sistemas 2, 3 y 4 en el plano ZY. [Elaboración Propia] ............... 24
Figura 9. Análisis vectorial del brazo robótico entre la muñeca y el efector final.
[Elaboración propia] ..................................................................................................... 26
Figura 10. Código para obtener el vector z_(i-1) a partir de las matrices de transformación.
[Elaboración propia] ..................................................................................................... 28

INGENIERÍA MECATRÓNICA vi
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 11. Generación del Jacobiano de velocidades lineales. [Elaboración propia] .......... 29
Figura 12. Interfaz en RViz para la simulación del robot. [Elaboración Propia] ................. 41
Figura 13. Importación de Librerías de programa. [Elaboración Propia] ............................ 41
Figura 14. Importación de Librerías de programa. [Elaboración Propia] ............................ 42
Figura 15. Pinza del robot definida. [Elaboración Propia] ................................................... 42
Figura 16. Configuraciones de junta. [Elaboración Propia] ................................................. 43
Figura 17. Envío de Steppers (pasos). [Elaboración Propia] ................................................ 44
Figura 18. Liberías y variables del programa en C++ .......................................................... 44
Figura 19. Algoritmo de transformación de pasos. [Elaboración Propia] ............................ 45
Figura 20. Envío de Steppers (pasos). [Elaboración Propia] ............................................. 45
Figura 21. Los subscriptores y publicadores son definidos y asociados a sus funciones. ... 46
Figura 22. Ensamblaje de los primeros eslabones. [Elaboración Propia] ............................ 51
Figura 23. Adición de un eslabón. [Elaboración Propia] ..................................................... 52
Figura 24. Esquemático de circuito del robot [Elaboración Propia] .................................... 53
Figura 25.Esquemático del driver TB6560[Fuente: Projectiot123.com] ............................. 54
Figura 26. Robot de 5GDL. [Fuente. Elaboración propia.] .................................................. 60
Figura 27. Conexiones a los drives y al Arduino. [Fuente. Elaboración propia.] ................ 61
Figura 28. Se puede mover la pinza el ángulo deseado. [Fuente. Elaboración propia.] ....... 63
Figura 29. Visualización de las dos posiciones para la planificación de trayectorias.
[Fuente. Elaboración propia.] ....................................................................................... 64
Figura 30. Postura del robot luego de la ejecución del programa. [Fuente. Elaboración
propia.].......................................................................................................................... 65

INGENIERÍA MECATRÓNICA vii


UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 1

Introducción

1.1. Realidad Problemática

El rápido desarrollo tecnológico en el ámbito de la robótica a través de los últimos


años ha abierto nuevas oportunidades en la optimización de los procesos en las plantas
de las diferentes industrias; sin embargo, este avance se ha visto limitado en países en
desarrollo, entre los cuales está Perú, a depender de tecnologías extranjeras y no
desarrollar la propia.
En el Perú se pueden observar recién los primeros pasos en el rubro de la robótica con
universidades e instituciones ofreciendo carreras y cursos relacionados a la
mecatrónica y robótica, o instituciones que requieran de profesionales que desarrollen
soluciones relacionadas a la robótica. En la ciudad de Trujillo existen pocas
instituciones que ofrecen formación sobre carreras afines a la robótica, siendo una de
las más resaltantes la Universidad Nacional de Trujillo (UNT). Sin embargo, en la
misma UNT se pueden observar laboratorios con pocos proyectos de robótica para
demostración, por lo que no se logra incentivar de forma íntegra a un estudiante en el
ámbito de la robótica.
Todo lo anterior hace pensar que es necesario que en el laboratorio de Robótica de
Ingeniería Mecatrónica en la Universidad Nacional de Trujillo se tiene que presentar
un robot de demostración para que sea una primera interacción con la robótica.
Este proyecto pretende desarrollar un robot de 5 grados de libertad, el cual puede
tomarse como una plataforma educativa para entender la cinemática y dinámica de un
robot manipulador continuo, así como evidenciar su requerimiento de los componentes
y del diseño de control para su movimiento.
1.2.Antecedentes

Un robot manipulador es un tipo de robot que tiene brazos o extremidades mecánicas

que se utilizan para manipular objetos en su entorno. Estos robots pueden ser

programados para realizar una variedad de tareas, como ensamblaje, soldadura,


INGENIERÍA MECATRÓNICA 1
UNIVERSIDAD NACIONAL DE TRUJILLO

pintura, manipulación de materiales y otras aplicaciones industriales. Esto puede

observarse en los siguientes trabajos.

El primer trabajo, presentado por Oridate (2014) se centra en el desarrollo de un brazo

robótico con fines demostrativos y educacionales en la región de Nigeria. Tuvo como

objetivos el simular el movimiento de un brazo robótico articular de 5 grados de

libertad, fabricar el brazo robótico, crear y desplegar un software capaz de

implementar la cinemática inversa del brazo robótico para posicionar el efector final a

unas coordinadas deseadas. Finalmente, obtuvieron el análisis cinemático y dinámico

de un robot de 5 grados de libertad, e implementado y controlado por una GUI que

permite establecer la posición de las coordinadas de “pick” y las de “place” deseadas

en x, y, z del centro del efector final, establecer la velocidad de los servomotores, abrir

o cerrar la garra que está actuando como el efector final, y obtener las posiciones

angulares de los motores de la base, hombro, codo y muñeca. Por lo que concluyeron

que era factible la implementación de un robot manipulador de 5 grados de libertad a

través de la cinemática inversa y controlado a través de una interfaz GUI con

propósitos educacionales.

En investigaciones de Roshanianfard y Noguchi (2016), el cual se centra en el

desarrollo de un brazo robótico de 5 grados de libertad aplicado a la cosecha de

cultivos en la región de Japón. Se tuvo como objetivos al análisis cinemático directo e

inverso del robot de 5 grados de libertad con un enfoque hacia la agricultura.

Finalmente, obtuvieron un análisis de esfuerzos en SolidWorks de las uniones, un

análisis cinemático y dinámico, considerando que, en las aplicaciones de agricultura,

la velocidad de operación es secundaria. Por lo que concluyeron que se puede controlar


INGENIERÍA MECATRÓNICA 2
UNIVERSIDAD NACIONAL DE TRUJILLO

un robot de 5 grados de libertad enfocado en la cosecha, pero se tienen que tomar en

cuenta aspectos como son la selección del material, la optimización del análisis

dinámico y usar velocidades adecuadas para el control de los servomotores.

También se tiene el trabajo presentado por Jadeja y Pandya (2018), el cual se centra

en un brazo robótico de 5 grados de libertad usando un microcontrolador Cortex ARM

M3 LPC1768. Tuvo como objetivos diseñar y controlar la posición angular de los

servomotores de un brazo robótico de 5 grados de libertad usando un microcontrolador

Cortex ARM M3 LPC1768. Finalmente, obtuvo un controlador tomando en cuenta los

encoders rotatorio de los servomotores y el sensor ultrasónico, usado para detectar los

objetos cercanos, se puede establecer con exactitud los ángulos de los motores del

robot. Por lo que concluyó que es factible la implementación de un brazo robótico de

5 grados de libertad usando el microcontrolador mencionado, sin embargo, requiere

mucho tiempo.

Asimismo, se tiene el trabajo presentado por Gandhi (2019), el cual se centra en el

desarrollo de un brazo robótico de 5 grados de libertad aplicado a la albañilería en la

región de Estados Unidos. Tuvo como objetivos el desarrollar un software de interfaz

gráfica para desarrollar la planificación de trayectorias, y controlar un brazo robótico

de 5 grados de libertad. Finalmente, obtuvo un software que permite realizar la

planificación de trayectorias usando la interfaz MoveIt – ROS, controlar y producir

movimientos a pequeña escala a un robot de 5 grados de libertad a través de Matlab -

Robot Operating System (ROS), lo cual es útil para operaciones de construcción. Por

lo que concluyó que es factible la implementación de un robot de 5 grados de libertad

INGENIERÍA MECATRÓNICA 3
UNIVERSIDAD NACIONAL DE TRUJILLO

controlado a través de Matlab – ROS para las operaciones de construcción o

albañilería.

1.3. Formulación del Problema

¿Es posible desarrollar un robot de 5 GDL BCN3D MOVEO como plataforma

educativa para el laboratorio de Robótica de Ingeniería Mecatrónica en la Universidad

Nacional de Trujillo?

1.4. Objetivos

1.4.1. Objetivo General

Modelar, simular e implementar un robot de 5GDL BCN3D MOVEO como

plataforma educativa para el laboratorio de Robótica de Ingeniería Mecatrónica

en la Universidad Nacional de Trujillo.

1.4.2. Objetivos Específicos

▪ Identificar los requerimientos técnicos funcionales del robot.

▪ Obtener el CAD del robot de 5GDL BCN3D MOVEO.

▪ Obtener el modelo cinemático del robot 5GDL BCN3D MOVEO.

▪ Obtener el modelo dinámico del robot de 5GDL BCN3D MOVEO.

▪ Planificar trayectorias del robot de 5GDL BCN3D MOVEO en el entorno

ROS.

▪ Simular y evaluar el movimiento del robot de 5GDL BCN3D MOVEO en el

entorno ROS.

▪ Implementar y validar el Robot de 5GDL BCN3D MOVEO.

INGENIERÍA MECATRÓNICA 4
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 2
Marco Referencial

2.1.Cinemática

Según Barrientos la cinemática del robot analiza el movimiento del mismo en relación

a un sistema de referencia. En específico, se enfoca en describir el movimiento espacial

del robot a través de una función del tiempo y en las relaciones entre la posición y la

orientación del extremo final del robot y los valores de sus coordenadas articulares.

Además, identifica los problemas clave a abordar en la cinemática del robot,

incluyendo el problema de la cinemática directa, que consiste en determinar la posición

y orientación del extremo final del robot en relación a un sistema de referencia dado

los valores de las articulaciones y parámetros geométricos del robot, y el problema de

la cinemática inversa, el cual busca encontrar la configuración del robot para una

posición y orientación del extremo conocida. 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.

Figura 1. Diagrama de relación entre cinemática directa e inversa. (Barrientos, 1997)


2.1.1. Cinemática Directa

INGENIERÍA MECATRÓNICA 5
UNIVERSIDAD NACIONAL DE TRUJILLO

Para poder obtener la cinemática directa de un robot debemos encontrar las relaciones

que permiten conocer la localización espacial del efector final de este partiendo de sus

coordenadas articulares. Entonces, si escogemos coordenadas cartesianas y ángulos de

Euler para representar la posición y orientación del extremo de un robot, la solución al

problema cinemático directo será dada por las siguientes relaciones:

𝑥 = 𝑓𝑥 (𝑞1 , 𝑞2 , … , 𝑞𝑛 )

𝑦 = 𝑓𝑦 (𝑞1 , 𝑞2 , … , 𝑞𝑛 )

𝑧 = 𝑓𝑧 (𝑞1 , 𝑞2 , … , 𝑞𝑛 )

𝛼 = 𝑓𝛼 (𝑞1 , 𝑞2 , … , 𝑞𝑛 )

𝛽 = 𝑓𝛽 (𝑞1 , 𝑞2 , … , 𝑞𝑛 )

𝛾 = 𝑓𝛾 (𝑞1 , 𝑞2 , … , 𝑞𝑛 )

Si el robot de 𝑛 grados de libertad está formado por 𝑛 eslabones unidos por 𝑛

articulaciones, de forma que cada par articulación eslabón constituye un grado de

libertad. Es posible asociar un sistema de referencia asociada a cada eslabón, y

mediante matrices de transformación homogénea podemos representar la posición y

orientación relativa entre los sistemas asociados a dos eslabones consecutivos del robot,

𝑖−1
las cuales se representan por 𝐴𝑖 . De igual manera, podemos denominar 0 𝐴𝑘 a las

𝑖−1
matrices resultantes del producto de matrices 𝐴𝑖 con 𝑖 desde 1 hasta 𝑘.

Entonces, considerando todos los grados de libertad de un robot, a partir de las matrices

que relacionan las posiciones y orientaciones entre los eslabones, podemos obtener la

posición y orientación del eslabón final mediante el producto de dichas matrices.

𝑇 = 0 𝐴1 1 𝐴2 … 𝑛−1
𝐴𝑛

INGENIERÍA MECATRÓNICA 6
UNIVERSIDAD NACIONAL DE TRUJILLO

2.1.2. Cinemática Inversa

El objetivo del problema cinemático inverso consiste en encontrar los valores que

deben tomar las variables articulares del robot 𝑞 = [𝑞1 , 𝑞2 , … , 𝑞𝑛 ]𝑇 para que su

extremo se posicione y oriente de acuerdo a una determinada localización espacial.

Al contrario de la cinemática directa, generalmente la solución de la cinemática

inversa no es única, existiendo diferentes n-uplas 𝑞 = [𝑞1 , 𝑞2 , … , 𝑞𝑛 ]𝑇 que posicionen

y orienten el extremo del robot del mismo modo.

Los métodos geométricos permiten obtener normalmente los valores de las primeras

variables articulares, que son las que consiguen posicionar al robot. Para ello, utilizan

relaciones trigonométricas y geométricas sobre los elementos del robot. Se suele

recurrir a la resolución de triángulos formados por los elementos y articulaciones del

robot. Una alternativa de solución recurre a manipular directamente las ecuaciones

correspondientes al problema cinemático directo.

Sin embargo, sabemos que no es suficiente posicionar el efector final del robot en un

punto del espacio, sino que es necesario conseguir que la herramienta se oriente de una

manera determinada. Para dicho propósito los robots cuentan generalmente con tres

grados de libertad situados al final de la cadena cinemática y cuyos ejes, generalmente,

se cortan en un solo punto, que se denomina muñeca del robot de manera informal.

El método de desacoplo cinemático aprovecha este hecho, separando ambos problemas,

el de la posición y el de la orientación. Para ello, dada una posición y orientación final

deseadas, establece las coordenadas de la muñeca del robot, calcula los valores de las

primeras variables articulares (𝑞1 , 𝑞2 , 𝑞3 ) que consiguen posicionar ese punto. Luego,

INGENIERÍA MECATRÓNICA 7
UNIVERSIDAD NACIONAL DE TRUJILLO

aprovechando los datos ya calculados y conociendo la orientación del efector final,

hace el cálculo de las variables articulares faltantes.

2.1.3. Cinemática Diferencial

Permite conocer la relación entre las velocidades articulares y las velocidades del

extremo del robot. La relación entre ambos vectores de velocidad se obtiene mediante

la denominada matriz Jacobiana.

La matriz Jacobiana directa permite conocer las velocidades del extremo del robot a

partir de los valores de las velocidades de cada articulación. Por su parte, la matriz

Jacobiana inversa permitirá conocer las velocidades articulares necesarias para obtener

unas velocidades necesarias en el extremo del robot.

Figura 2. Matriz Jacobiana directa e inversa. (Barrientos, 1997)


Si se conocen las ecuaciones que resuelven el problema cinemático directo de un robot

de 𝑛 GDL:

𝑥 = 𝑓𝑥 (𝑞1 , 𝑞2 , … , 𝑞𝑛 ) 𝑦 = 𝑓𝑦 (𝑞1 , 𝑞2 , … , 𝑞𝑛 ) 𝑧 = 𝑓𝑧 (𝑞1 , 𝑞2 , … , 𝑞𝑛 )

𝛼 = 𝑓𝛼 (𝑞1 , 𝑞2 , … , 𝑞𝑛 ) 𝛽 = 𝑓𝛽 (𝑞1 , 𝑞2 , … , 𝑞𝑛 ) 𝛾 = 𝑓𝛾 (𝑞1 , 𝑞2 , … , 𝑞𝑛 )

Si se derivan con respecto al tiempo se tendrá:


𝑛 𝑛 𝑛
𝜕𝑓𝑥 𝜕𝑓𝑦 𝜕𝑓𝑧
𝑥̇ = ∑ 𝑞𝑖̇ 𝑦̇ = ∑ 𝑞𝑖̇ 𝑧̇ = ∑ 𝑞̇
𝜕𝑞𝑖 𝜕𝑞𝑖 𝜕𝑞𝑖 𝑖
1 1 1

INGENIERÍA MECATRÓNICA 8
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑛 𝑛 𝑛
𝜕𝑓𝛼 𝜕𝑓𝛽 𝜕𝑓𝛾
𝛼̇ = ∑ 𝑞𝑖̇ 𝛽̇ = ∑ 𝑞𝑖̇ 𝛾̇ = ∑ 𝑞̇
𝜕𝑞𝑖 𝜕𝑞𝑖 𝜕𝑞𝑖 𝑖
1 1 1

Expresado en forma matricial

𝑥̇ 𝑞1̇ 𝜕𝑓𝑥 𝜕𝑓𝑥


𝑦̇ 𝑦̇ ⋯
𝜕𝑞1 𝜕𝑞𝑛
𝑧̇ ⋮
𝛼̇ = 𝑱 ⋮ 𝑐𝑜𝑛 𝑱 = ⋮ ⋱ ⋮
𝜕𝑓𝛾 𝜕𝑓𝛾
𝛽̇ 𝛽̇ ⋯
[ 𝛾̇ ] [𝑞𝑛̇ ] [𝜕𝑞1 𝜕𝑞𝑛 ]

Donde la matriz 𝑱 se denomina la matriz Jacobiana

Del mismo modo, pude obtenerse la relación inversa que permite calcular las

velocidades articulares partiendo de las del extremo. Para ello, pueden emplearse

diferentes procedimientos.

𝑞1̇ 𝑥̇
𝑦̇ 𝑦̇
⋮ −𝟏 𝑧̇
⋮ = 𝑱 𝛼̇
𝛽̇ 𝛽̇
[𝑞𝑛̇ ] [ 𝛾̇ ]

2.2.Dinámica

La dinámica se encarga de la relación entre las fuerzas que actúan sobre un cuerpo y el

movimiento que se origina en este. Por ende, el modelado dinámico de un robot

manipulador juega un papel muy importante, puesto que relaciona matemáticamente: la

localización del robot definida por sus variables articulares o por las coordenadas del

efector final y sus derivadas (velocidad y aceleración); las fuerzas y pares aplicados en las

articulaciones; y los parámetros de dimensionamiento del robot, tales como longitud, masa

e inercia de los eslabones. Todo esto permite que se logre la simulación de movimiento del

INGENIERÍA MECATRÓNICA 9
UNIVERSIDAD NACIONAL DE TRUJILLO

robot, análisis de estructura mecánica del manipulador, el dimensionamiento de actuadores

y el diseño de los algoritmos de control del robot.

2.2.1. Dinámica Inversa (Newton-Euler)

El método de Newton-Euler permite obtener un conjunto de ecuaciones recursivas

hacia delante de velocidad y aceleración lineal y angular las cuales están referidas a

cada sistema de referencia articular. Las velocidades y aceleraciones de cada elemento

se propagan hacia adelante desde el sistema de referencia de la base hasta el efector

final. Las ecuaciones recursivas hacia atrás calculan los pares y fuerzas necesarios para

cada articulación desde el efector final (incluyendo fuerzas externas), hasta el sistema

de referencia base.

Los momentos y fuerzas que actúan sobre un eslabón normal 𝑖 de un manipulador serial

se presenta en la Figura 3; para el análisis recursivo, la nomenclatura viene dada por:

𝑚𝑖 : Masa total del eslabón i.

𝑟̅𝑖 . Posición del centro de masa del elemento i desde el origen del sistema de referencia de la

base.

𝑠̅𝑖 : Posición del centro de masa del eslabón i desde el origen del sistema de coordenadas

( 𝑥 𝑖 , 𝑦 𝑖 , 𝑧𝑖 )

𝑝𝑖 ∗ : Posición del origen de coordenadas i-ésimo con respecto al sistema de coordenadas

(𝑖 −1)-ésimo.

𝑑𝑟̅𝑖
𝑣̅𝑖 = : Velocidad lineal del centro de masa del elemento 𝑖.
𝑑𝑡

𝑑𝑣̅𝑖
𝑎̅𝑖 = : Aceleración lineal del centro de masa del elemento 𝑖.
𝑑𝑡

𝐹𝑖 : Fuerza total externa ejercida sobre el elemento 𝑖 en el centro de masa.

INGENIERÍA MECATRÓNICA 10
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑁𝑖 : Momento total externo ejercido sobre el elemento 𝑖 en el centro de masa.

𝐼𝑖 : Matriz de inercia del elemento 𝑖 respecto a su centro de masa con respecto a su sistema

de coordenadas (𝑥0 , 𝑦0 , 𝑧0 )

𝑓𝑖 : fuerza ejercida sobre el elemento 𝑖 por el elemento (𝑖 − 1) en el sistema de coordenadas

(𝑥𝑖−1 , 𝑦𝑖−1 , 𝑧𝑖−1 ) para soportar al elemento 𝑖 y a los elementos por encima de él.

𝑛𝑖 : Momento ejercido sobre el elemento 𝑖 por el elemento (𝑖 − 1) en el sistema de

coordenadas (𝑥𝑖−1 , 𝑦𝑖−1 , 𝑧𝑖−1 )

Figura 3. Momentos y fuerzas ejercidos sobre el eslabón i. (Saltarén et al., 2000)


Si se omiten los efectos del rozamiento viscoso en las articulaciones, se obtiene para cada

eslabón:

𝑑 (𝑚𝑖 𝑣̅𝑖 )
𝐹𝑖 = = 𝑚𝑖 𝑎̅𝑖
𝑑𝑡

𝑑 (𝐼𝑖 𝑤𝑖 )
𝑁𝑖 = = 𝐼𝑖 𝑤̇ 𝑖 + 𝑤𝑖 × (𝐼𝑖 𝑤𝑖 )
𝑑𝑡

Realizando el balance de fuerzas y pares, se tiene:

𝐹𝑖 = 𝑓𝑖 − 𝑓𝑖+1

INGENIERÍA MECATRÓNICA 11
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑁𝑖 = 𝑛𝑖 − 𝑛𝑖+1 + (𝑝𝑖−1 − 𝑟̅𝑖 ) × 𝑓𝑖 − (𝑝𝑖 − 𝑟̅𝑖 ) × 𝑓𝑖+1

𝑁𝑖 = 𝑛𝑖 − 𝑛𝑖+1 + (𝑝𝑖−1 − 𝑟̅𝑖 ) × 𝐹𝑖 − 𝑝𝑖 ∗ × 𝑓𝑖+1

Utilizando la relación geométrica:

𝑟̅𝑖 − 𝑝𝑖−1 = 𝑝𝑖∗ + 𝑠̅𝑖

Se obtienen las ecuaciones recursivas:

𝑓𝑖 = 𝐹𝑖 + 𝑓𝑖+1 = 𝑚𝑖 𝑎̅𝑖 + 𝑓𝑖+1

𝑛𝑖 = 𝑛𝑖+1 + 𝑝𝑖∗ × 𝑓𝑖+1 + (𝑝𝑖∗ + 𝑠̅𝑖 ) × 𝐹𝑖 + 𝑁𝑖

Estas ecuaciones son recursivas y permiten obtener las fuerzas y momentos en los elementos

𝑖 = 1,2,3,4, …, 𝑛 para un robot de n elementos. 𝑓𝑖+1 y 𝑛𝑖+1 representan la fuerza y momento

ejercidos por la mano del robot sobre un objeto externo. Por lo tanto, el par/fuerza para cada

articulación se expresa como:

𝑛𝑖𝑇 𝑧𝑖−1 + 𝑏𝑖 𝑞𝑖̇ si el eslabón i es rotacional


𝜏𝑖 =
𝑓𝑖𝑇 𝑧𝑖−1 + 𝑏𝑖 𝑞𝑖̇ si el eslabón i es traslacional

Donde 𝑏𝑖 es el coeficiente de rozamiento viscoso de la articulación.

2.2.2. Dinámica Directa Criterio Walker – Orin

Las ecuaciones de movimiento planteadas en el método de Newton-Euler nos permiten

resolver el problema de la dinámica directa. M.W. Walker y D.E. Orin en su trabajo

“Efficient dynamic computer simulation of robotic mechanisms”. Presentaron 4

métodos para la resolución del problema dinámico directo de una cadena cinemática

abierta utilizando la formulación de Newton-Euler. Dentro de este artículo se presenta

una comparación entre los 4 métodos, concluyendo que el tercero de los presentados

es el más eficiente frente al tiempo de cómputo.

INGENIERÍA MECATRÓNICA 12
UNIVERSIDAD NACIONAL DE TRUJILLO

A continuación, explicaremos la realización del 3er método. M.W. Walker y D.E. Orín

Presentaron la siguiente ecuación, la cual resuelve la ecuación general de un robot

manipulador.

𝐻(𝑞)𝑞̈ + 𝐶 (𝑞, 𝑞̇ )𝑞̇ + 𝐺 (𝑞) + 𝐾 (𝑞)𝑇 𝑘 = 𝜏

Donde:

𝐻 (𝑞 ) Matriz no singular 𝑁𝑥𝑁 de los momentos de inercia.

𝐶 (𝑞, 𝑞̇ ) Matriz 𝑁𝑥𝑁 que contabiliza los efectos de las aceleraciones

centrífugas y de Coriolis.

𝐺 (𝑞 ) Vector 𝑁𝑥1 que contabiliza los efectos de la gravedad.

𝐾(𝑞) Matriz Jacobiana 6𝑥𝑁 que especifica los pares (fuerzas) creados en

cada articulación debido a las fuerzas y momentos externos aplicados

sobre el elemento N.

𝑘 Vector 6𝑥1 de los momentos y fuerzas externas ejercidos sobre el

elemento N.

𝜏 Vector 𝑁𝑥1 de los pares (fuerzas) de cada articulación.

𝑞 Vector 𝑁𝑥1 de las variables articulares.

De la ecuación previa podemos notar que los momentos y fuerzas presentes en las

articulaciones son funciones lineales de las aceleraciones articulares. De esta manera,

se define al vector 𝑏, que es un vector que equivale a los efectos de la gravedad,

INGENIERÍA MECATRÓNICA 13
UNIVERSIDAD NACIONAL DE TRUJILLO

aceleración centrifuga y de Coriolis y las fuerzas externas aplicadas sobre el elemento

N.

𝑏 = 𝐶 (𝑞, 𝑞̇ )𝑞̇ + 𝐺 (𝑞) + 𝐾 (𝑞)𝑇 𝑘

De esta manera se puede simplificar la ecuación anterior

𝐻 (𝑞)𝑞̈ = 𝜏 − 𝑏

Para este método, el cálculo de la matriz de Inercias (𝐻(𝑞)) aprovecha la simetría de

esta matriz para el cálculo de la diagonal principal y los términos de la mitad superior.

Estos elementos se van calculando teniendo el siguiente orden:

𝐻𝑁,𝑁 , 𝐻𝑁−1,𝑁 , … , 𝐻1,𝑁 ; 𝐻𝑁−1,𝑁−1, 𝐻𝑁−2,𝑁−1, . . . . . , 𝐻1,𝑁−1 , ; . . . . . etc.

Para el cálculo de la articulación j, los últimos N-j+1 elementos aparecen como un

cuerpo rígido, luego la articulación j es la única con movimiento. En este caso, y

conocida la localización del centro de masas y el momento de inercia de este elemento

ficticio, la fuerza total 𝐹𝑗 y el momento 𝑁𝑗 ejercidos en el sistema compuesto por los

elementos j hasta N se calcula como:

𝐹𝑗 = 𝑀𝑗 𝑣̇𝑗 = 𝑀𝑗 (𝑧𝑗−1 × 𝑐𝑗 ) = 𝑧𝑗−1 × (𝑀𝑗 𝑐𝑗 )


} 𝑝𝑎𝑟𝑎 𝑗 𝑟𝑜𝑡𝑎𝑐𝑖𝑜𝑛𝑎𝑙
𝑁𝑗 = 𝐸𝑗 𝑧𝑗−1

𝐹𝑗 = 𝑀𝑗 𝑣𝑗−1
} 𝑝𝑎𝑟𝑎 𝑗 𝑡𝑟𝑎𝑠𝑙𝑎𝑐𝑖𝑜𝑛𝑎𝑙
𝑁𝑗 = 0

Donde:

INGENIERÍA MECATRÓNICA 14
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑀𝑗 Masa total de los elementos 𝑗 hasta N.

𝑣̇𝑗 Aceleración lineal del centro de masas del cuerpo rígido compuesto

por los elementos j hasta N.

𝑐𝑗 Localización del c.d.m. del cuerpo rígido compuesto respecto a las

coordenadas del elemento 𝑗 − 1

𝐸𝑗 La matriz de momentos de inercia del cuerpo rígido compuesto por los

elementos j hasta N.

Debido a que 𝐹𝑖 y 𝑁𝑖 son cero cuando 𝑖 < 𝑗, entonces tenemos:

𝑓𝑖 = 𝑓𝑖+1
} 𝑝𝑎𝑟𝑎 𝑖 = 1 … 𝑗 − 1
𝑛𝑖 = 𝑛𝑖+1 + 𝑝𝑖∗ × 𝑓𝑖+1

𝑓𝑗 = 𝐹𝑗
}
𝑛𝑗 = 𝑁𝑗 + 𝑐𝑗 + 𝐹𝑗

Partiendo de las la fuerza total 𝐹𝑗 y el momento 𝑁𝑗 previamente planteadas,

reemplazamos empezando por 𝑖 = 𝑗, podemos obtener 𝑛𝑖 y 𝑓𝑖 para valores 𝑖 ≤ 𝑗.

Los componentes de la matriz de momentos de inercia a lo largo de la columna j son

iguales a los pares y fuerzas generados en las articulaciones. Luego, para valores de

𝑖 ≤ 𝑗.

𝑧𝑖−𝑗 𝑛𝑗 𝑝𝑎𝑟𝑎 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑐𝑖𝑜𝑛𝑒𝑠 𝑖 𝑟𝑜𝑡𝑎𝑐𝑖𝑜𝑛𝑎𝑙


𝐻𝑖𝑗 {
𝑧𝑖−1 𝑓𝑖 𝑝𝑎𝑟𝑎 𝑎𝑟𝑡𝑖𝑐𝑢𝑙𝑎𝑐𝑖𝑜𝑛𝑒𝑠 𝑖 𝑡𝑟𝑎𝑠𝑙𝑎𝑐𝑖𝑜𝑛𝑎𝑙𝑒𝑠

INGENIERÍA MECATRÓNICA 15
UNIVERSIDAD NACIONAL DE TRUJILLO

Los parámetros 𝑀𝑗 , 𝑐𝑗 y 𝐸𝑗 usados en las ecuaciones de la fuerza total 𝐹𝑗 y el momento

𝑁𝑗 son calculados a partir de las siguientes ecuaciones:

• Para el elemento N:

𝑀𝑁 = 𝑚𝑁

𝑐𝑁 = 𝑠𝑁 + 𝑝𝑁∗

𝐸𝑁 = 𝐽𝑁

• Para los demás elementos:

𝑀𝑗 = 𝑀𝑗+1 + 𝑚𝑗
1
𝑐𝑗 = [𝑚 (𝑠 + 𝑝𝑗∗ ) + 𝑀𝑗+1 (𝑐𝑗+1 + 𝑝𝑗∗ )]
𝑀𝑗 𝑗 𝑗

𝐸𝑗 = 𝐸𝑗−1 + 𝑀𝑗−1 [(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 ) ∗ (𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 )𝐼


𝑇
− (𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 )(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 ) ]
𝑇
+𝐽𝑗 + 𝑚𝑗 [(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 ) ∗ (𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 )𝐼 − (𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 )(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 ) ]

Donde:
𝑚𝑗 Masa del elemento 𝑗.

𝑠𝑗 Posición del centro de masas del elemento 𝑖 respecto a las coordenadas


del elemento 𝑗.
𝐽𝑗 Matriz de momentos de inercia del elemento 𝑗.

𝐼 Matriz identidad de 3𝑥3.

2.3.ROS

Robot Operating System (ROS) es un software gratuito y de código abierto que define

los componentes, las interfaces y las herramientas para construir robots avanzados.
INGENIERÍA MECATRÓNICA 16
UNIVERSIDAD NACIONAL DE TRUJILLO

ROS ayuda a los desarrolladores a construir rápidamente actuadores, sensores y

sistemas de control y conectarlos fácilmente usando herramientas de ROS llamadas

“temas” y “mensajes”. Con ROS puedes trabajar con un robot simulado en lugar del

real, lo que se denomina "gemelo digital". Esto hace que las pruebas y el entrenamiento

sean más fáciles y efectivos.

Figura 4. Simulación de un robot mediante gemelo digital. (ROS: Home, s. f.)

Capítulo 3

Materiales y Métodos (o Caso de Estudio)

3.1. Estructura Mecánica del Robot Manipulador

En la siguiente tabla, se resumen los requerimientos del robot BCN3D MOVEO para

los propósitos del trabajo:

Tabla 1. Requerimientos Técnicos Funcionales del Robot. [Elaboración Propia]


CATEGORÍAS CARACTERÍSTICAS UNIDADES LÍMITES
Cinemática Tipos de trayectorias - PTP y rectas
Entradas - Posición a moverse
Señales
Salidas - Trayectorias

INGENIERÍA MECATRÓNICA 17
UNIVERSIDAD NACIONAL DE TRUJILLO

Corrosión - Libre de óxido


Material
Eslabones - PLA
Seguridad Circuitos - Aislados
Estructura - Estable sin holguras
Ensamblaje Sin cableado a plena
Estética - vista
Costos Precio S/ <3000

3.2. Estructura Mecánica del Robot Manipulador

El robot manipulador usado para este estudio es el Robot BCN3D Moveo, este es un

robot open source diseñado por la compañía BCN3D, por tanto, la estructura mecánica

del mismo está impresa en su mayoría en 3D, usando como material principal el PLA.

La configuración de este brazo robótico, cuenta con 5 articulaciones (5GDL) y un

efector final en forma de pinza. Para el ensamblaje de este prototipo se emplearon

motores paso a paso. El diseño en SolidWorks del ensamblaje final del robot se puede

apreciar en la siguiente figura.

INGENIERÍA MECATRÓNICA 18
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 5. Estructura del Brazo robótico SolidWorks. [Elaboración Propia]


Los archivos CAD, así como el ensamblaje total del robot manipulador se pueden

encontrar en la sección de Anexos.

3.3. Análisis del Modelo

Para este caso en cuestión, se consideró pertinente realizar el análisis del brazo

robótico dividiéndolo en 3 secciones importante:

• Análisis Cinemático.

• Análisis Dinámico.

• Control de Trayectoria.

Cada una de estas secciones seguirán esa secuencia de análisis. Se partirá haciendo el

análisis de la cinemática directa e inversa del robot, posteriormente se hará el análisis

de la dinámica inversa mediante el método de Newton – Euler y el análisis de la

INGENIERÍA MECATRÓNICA 19
UNIVERSIDAD NACIONAL DE TRUJILLO

cinemática directa empleando el método 3 propuesto por Walker – Orin. Finalmente

se hará la parte de control y planificación de trayectorias.

3.4.Análisis Cinemático

3.4.1. Cinemática Directa

Para este análisis en cuestión, siguiendo el algoritmo de Denavit – Hartenberg

asignamos los sistemas de coordenadas respectivos para cada una de las variables

articulares y para el efector final del brazo robótico.

Para ello, llevamos nuestro modelo del robot a un diagrama más simplificado para ver

los ejes de rotaciones, así como las longitudes obtenidas del software SolidWorks.

Figura 6. Diagrama simplificado del Robot de 5 GDL. [Elaboración Propia]


Teniendo como base la figura 6, obtuvimos los parámetros de Denavit-Hartenberg

asociados a las variables articulares del robot. Estos parámetros fueron agrupados en la

siguiente tabla:

Tabla 2. Parámetros de Denavit-Hartenberg del Robot. [Elaboración Propia]


# de eslabón 𝜃 𝑑 𝑎 𝛼
1 𝜋 𝐿1 0 𝜋
𝑞1 +
2 2
INGENIERÍA MECATRÓNICA 20
UNIVERSIDAD NACIONAL DE TRUJILLO

2 𝑞2 0 𝐿2 0
3 𝜋 0 0 𝜋
𝑞3 +
2 2
4 𝑞4 𝐿3 0 𝜋

2
5 𝜋 0 𝐿4 0
𝑞5 −
2

Una vez obtenidos los parámetros D-H del robot, se procedió a calcular las

Matrices de Transformación Homogénea que nos permitieran relacionar la

trama del efector final del robot, con el sistema de coordenadas de la base.

Para ello utilizamos el algoritmo de Denavit-Hartenberg, el cual nos permite fácilmente

encontrar las matrices de transformación homogénea del manipulador.

−𝑠𝑒𝑛(𝑞1 ) 0 cos (𝑞1 ) 0 (3.1)


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

cos (𝑞2 ) −𝑠𝑒𝑛(𝑞2 ) 0 𝐿2 cos (𝑞2 ) (3.2)


1 𝑠𝑒𝑛(𝑞2 ) cos (𝑞2 ) 0 L2 𝑠𝑒𝑛(𝑞2 ) ]
2𝑇 = [ 1
0 0 0
0 0 0 1

−𝑠𝑒𝑛(𝑞3 ) 0 cos (𝑞3 ) 0 (3.3)


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

cos(𝑞4 ) 0 −𝑠𝑒𝑛(𝑞4 ) 0 (3.4)


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

INGENIERÍA MECATRÓNICA 21
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑠𝑒𝑛(𝑞5 ) cos(𝑞5 ) 0 L4 𝑠𝑒𝑛(𝑞5 ) (3.5)


4 −cos (𝑞5 ) 𝑠𝑒𝑛(𝑞5 ) 0 −𝐿4 cos (𝑞5 )
5𝑇 = [ 1 ]
0 0 0
0 0 0 1

La cinemática directa consiste calcular la matriz 05𝑇 que relacione el efector final con

la base del robot y lo hacemos realizando la siguiente operación:

0
5𝑇 = 01𝑇 ∗ 12𝑇 ∗ 23𝑇 ∗ 34𝑇 ∗ 45𝑇 (3.6)

3.4.2. Cinemática Inversa

Para poder realizar la cinemática inversa del manipulador robótico, es necesario

interpretar la estructura mecánica del robot de manera que se considere que los 3

primeros grados de libertad tengan la finalidad de indicarnos la posición del efector

final, y los 2 siguientes tengan la finalidad de indicarlos la orientación del efector

final.

El método más utilizado para resolver la cinemática de los manipuladores es el

desacoplo cinemático, el cual utiliza esta “división en dos partes” de la estructura,

para simplificar el cálculo de los ángulos requeridos para una determinada posición y

orientación.

El método consiste en “dividir el problema cinemático inverso en dos”, utilizando el

hecho de que los tres primeros grados determinan la posición y los siguientes, la

orientación del efector final.

Para el cálculo de los tres primeros valores articulares (𝑞1, 𝑞2, 𝑞3) de los sistemas 𝑠0,

𝑠1, 𝑠2 se obtienen mediante el método geométrico del robot con sus tres primeros

grados de libertad.

INGENIERÍA MECATRÓNICA 22
UNIVERSIDAD NACIONAL DE TRUJILLO

En el caso que el brazo sea codo abajo:

Figura 7. Simplificación brazo robótico de 3 GDL. [Elaboración Propia]


Teniendo en cuenta la figura 7, podemos observar que el ángulo 𝑞1 , se puede obtener

directamente con la siguiente relación.

𝑦 (3.7)
𝑞1 = 𝑎𝑡𝑎𝑛 ( )
𝑥

Para poder calcular las otras dos variables articulares, procedemos a evaluar el plano

ZY, para poder obtener las relaciones necesarias para hallar dichas variables articulares.

INGENIERÍA MECATRÓNICA 23
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 8. Análisis de los sistemas 2, 3 y 4 en el plano ZY. [Elaboración Propia]


De esta manera, por ley de coseno obtenemos la siguiente relación:

𝑥 2 + 𝑦 2 + (𝑧 − 𝐿1 )2 − 𝐿22 − 𝐿23 (3.8)


cos(𝑞3 ) =
2(𝐿2 )(𝐿3 )

De esta manera:

√1 − cos 2 (𝑞3 ) (3.9)


𝑞3 = −𝑎𝑡𝑎𝑛 ( )
cos(𝑞3 )

Para el cálculo de 𝑞2 , tendremos en cuenta la siguiente relación:

𝑞2 = 𝜓 − ϕ (3.10)

Donde, de la figura 8, podemos obtener las siguientes relaciones:

𝑧 − 𝐿1 (3.11)
𝜓 = 𝑎𝑡𝑎𝑛 ( )
√𝑥 2 + 𝑦 2

INGENIERÍA MECATRÓNICA 24
UNIVERSIDAD NACIONAL DE TRUJILLO

𝐿3 (𝑠𝑒𝑛(𝑞3 )) (3.12)
𝜙 = 𝑎𝑡𝑎𝑛 ( )
𝐿3 (cos(𝑞3 ) + 𝐿2

En el caso de que consideramos la configuración de codo hacia arriba, el valor de la

variable articular 𝑞3 sería el siguiente:

√1 − cos 2 (𝑞3 ) (3.13)


𝑞3 = −𝑎𝑡𝑎𝑛 (− )
cos(𝑞3 )

Una vez calculado los valores de las variables articulares 𝑞1 , 𝑞2 , 𝑞3 , se procede a

calcular los valores de las variables articulares 𝑞4 , 𝑞5 .

Para el cálculo de estos valores articulares faltantes, en los sistemas 𝑠4 𝑦 𝑠5 se realiza

el método vectorial donde 𝑟𝑚 es el vector de posición del centro de la muñeca, 𝑟𝑓 es el

vector de posición del efector final, y 𝑟4 es el vector que une el centro de la muñeca y

el efector final, y es coincidente con el vector unitario de 𝑥5 del sistema 5.

INGENIERÍA MECATRÓNICA 25
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 9. Análisis vectorial del brazo robótico entre la muñeca y el efector final.
[Elaboración propia]
Teniendo en cuenta la figura 9, obtenemos las siguientes relaciones:

|⃗𝑟⃗4 | = 𝐿4

𝑟⃗⃗⃗⃗𝑚 = 𝑟⃗⃗⃗𝑓 − ⃗𝑟⃗4 (3.14)

𝑟⃗⃗⃗⃗𝑚 = 𝑟⃗⃗⃗𝑓 − 𝐿4 ∙ ⃗⃗⃗⃗


𝑥5

Donde, el vector unitario ⃗⃗⃗⃗


𝑥5 se obtiene de la matriz de rotación homogénea del sistema

5 en relación al sistema 0.

Posteriormente, se calculan las matrices de rotación de los sistemas 3 y 5 en relación al

sistema 0 desde sus matrices de transformación homogénea obtenidas con los

parámetros de Denavit - Hartenberg.

3
5𝑅 = ( 03𝑅)𝑇 ∙ 05𝑅 (3.15)

INGENIERÍA MECATRÓNICA 26
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑟!1 𝑟12 𝑟13 (3.16)


3 𝑟 𝑟22 𝑟23 ]
5𝑅 = [ 21
𝑟31 𝑟32 𝑟33

Entonces, la relación para 𝑞4 es:

𝑟13 (3.17)
𝑞4 = atan (− )
𝑟23

Y, la relación para 𝑞5 es:

𝜋 𝑟31 (3.18)
𝑞5 = − atan (− )
2 𝑟32

Luego, se implementó la cinemática inversa del robot; los programas que calculan

dicha cinemática se encuentran en la sección Anexos

3.4.3. Cinemática Diferencial

El modelo diferencial permite establecer una relación entre las velocidades angulares de cada

articulación con las velocidades de la localización del extremo del robot (Barrientos); ello se

hace utilizando matrices Jacobianas de modo que se cumpla la relación:

(𝑣, 𝑤) = 𝐽 × 𝑞̇ (3.19)

Donde 𝑣 y 𝑤 son los vectores 3×1 de velocidad lineal y angular respectivamente, 𝑱 es la matriz

Jacobiana geométrica y 𝒒̇ el vector n×1. Para obtener la matriz Jacobiana se sigue las

siguientes estructuras para cada eslabón 𝑖:

INGENIERÍA MECATRÓNICA 27
UNIVERSIDAD NACIONAL DE TRUJILLO

0
𝑧𝑖−1 × 𝑖−1𝑃𝑛
[ 0 ] , 𝑠𝑖 𝑒𝑙 𝑒𝑠𝑙𝑎𝑏ó𝑛 𝑖 𝑒𝑠 𝑑𝑒 𝑟𝑜𝑡𝑎𝑐𝑖ó𝑛
𝐽(𝑞𝑖 ) = 𝑧𝑖−1
(3.20)
0
[0 ] , 𝑠𝑖 𝑒𝑙 𝑒𝑠𝑙𝑎𝑏ó𝑛 𝑖 𝑒𝑠 𝑑𝑒 𝑡𝑟𝑎𝑠𝑙𝑎𝑐𝑖ó𝑛
{ 𝑧𝑖−1

Con 𝑖 = 1,2,3,4 𝑦 5, 𝑛 = 5 para el robot de 5 GLD. Además, recordemos que 0𝑧𝑖−1 se puede

hallar usando la relación:

0
𝑧𝑖−1 = 0𝑅𝑖−1 (1: 3,3) (3.21)

Así mismo los vectores 𝑖−1𝑃𝑛 equivalen a:

𝑖−1
𝑃𝑛 = 0𝑃𝑛 − 𝑖−1𝑃0 (3.21)

A partir de la cinemática directa y el código implementado en Matlab (Anexo 3) se obtiene

cada uno de los 𝑧𝑖−1 :

Figura 10. Código para obtener el vector z_(i-1) a partir de las matrices de
transformación. [Elaboración propia]
El resultado (simplificando las expresiones) es:

0 (3.22)
𝑧0 = [0]
1

INGENIERÍA MECATRÓNICA 28
UNIVERSIDAD NACIONAL DE TRUJILLO

−cos (q1 ) (3.23)


𝑧1 = [ 𝑠𝑒𝑛(𝑞1 ) ]
0

−cos (q1 ) (3.24)


𝑧2 = 𝑠𝑒𝑛(𝑞1 ) ]
[
0

−sen(q1 )cos(q2 + q 3 ) (3.25)


𝑧3 = [ cos(q1) cos(q 2 + q 3 ) ]
sen(q 2 + q1 )

cos(q1 )cos(q 4 ) – sen(q 3 + q 2 )sen(q 4 )sen(q1) (3.26)


𝑧4 = [cos(q 4 ) sen(q1) + cos(q1) sen(q 4 ) cos(q 2 + q 3 ) ]
− cos(q 2 + q 3 ) sen(q 4 )

De modo que el Jacobiano angular de velocidades quedaría como:

𝐽𝑤 = [𝑧0 𝑧1 𝑧2 𝑧3 𝑧4] (3.27)

Para poder obtener el valor del Jacobiano lineal de velocidades haremos uso de la posición

de sistema base al extremo y la función jacobian de Matlab.

Figura 11. Generación del Jacobiano de velocidades lineales. [Elaboración propia]


Al juntar ambos se forma el Jacobiano geométrico:

𝐽𝑣 (3.28)
𝐽=[ ] = [𝐽(𝑞1 ) 𝐽(𝑞2 ) 𝐽(𝑞3 ) 𝐽(𝑞4 ) 𝐽(𝑞5 )]
𝐽𝑤

INGENIERÍA MECATRÓNICA 29
UNIVERSIDAD NACIONAL DE TRUJILLO

Con 𝐽𝑣 = 𝐽(1,1: 𝑛) y 𝐽𝜔 = 𝐽(2,1: 𝑛) siendo los Jacobianos de velocidades lineales y

angulares respectivamente. Para obtener las velocidades lineales y angulares del extremo del

robot se debe realizar el producto matricial entre el Jacobiano y las velocidades articulares:

𝑞1̇
𝑞2̇
𝑣 𝐽𝑣
[ ] = 𝐽 × 𝑞̇ = [ ] × 𝑞3̇ (3.29)
𝜔 𝐽𝑤
𝑞4̇
[𝑞5̇ ]

Además, se puede calcular un Jacobiano Pseudoinverso (ya que no posee el mismo número

de filas que columnas) para obtener 𝑞̇ a partir de 𝑣 y 𝜔, esto es útil para comprobar que los

resultados de nuestro programa sean los correctos:

𝑣 (3.30)
𝑞̇ = 𝐽 −1 × [ ]
𝜔

π π π
Se hizo una prueba preliminar con los valores q = [ ; ; 0.2; − ; 0] y 𝑞̇ =
3 6 8

π π π π π
[ ; ; ; ; ], obteniendo como resultado:
4 8 8 10 12

19.212 (3.31)
−407.9
𝑣 275.75
[ ]=
𝜔 0.36718
0.9742
[ 1.0685 ]

Al aplicarse el Jacobiano inverso se obtuvo un 𝑞̇ aproximado al que se tenía como entrada:

𝑞̇ = [0.7854; 0.3927; 0.3927; 0.3142; 0.2618] (3.32)

INGENIERÍA MECATRÓNICA 30
UNIVERSIDAD NACIONAL DE TRUJILLO

3.5.Análisis Dinámico

3.5.1. Análisis Dinámico Inverso

Para la determinación del modelo dinámico del robot Moveo, se utilizó el método de

Newton – Euler, cuyo algoritmo computacional es más estructurado y presenta menor

coste computacional en comparación al método de Lagrange – Euler.

Este algoritmo emplea las matrices de rotación como herramienta de localización

espacial. Además, se empleó como sistemas de referencia los determinados con el

algoritmo de Denavit – Hartenberg.

A continuación, se establecerán las condiciones iniciales del modelamiento: velocidad

angular 0𝜔0, aceleración angular 0𝜔̇ 0 , velocidad lineal 0𝑣0 y aceleración lineal 0𝑣̇ 0

para el sistema de referencia 𝑠0. Para nuestro caso, tenemos valores iniciales en cero,

salvo para el caso de la velocidad lineal, debido a que se considera el efecto de la

aceleración gravitatoria, que para el sistema de referencia 𝑠0, este actúa sobre el eje z.

De esta manera, los valores iniciales serán:

0
𝜔0 = [0 0 0]𝑇 (3.33)

0
𝜔̇ 0 = [0 0 0]𝑇 (3.34)

0
𝑣0 = [0 0 0]𝑇 (3.35)

0
𝑣̇ 0 = [0 0 −9.81]𝑇 (3.36)

INGENIERÍA MECATRÓNICA 31
UNIVERSIDAD NACIONAL DE TRUJILLO

De igual manera, se declara el vector 𝑧0 , el cual es el vector unitario del eje Z del

sistema de referencia base 𝑠0.

𝑧0 = [0 0 1]𝑇 (3.37)

Luego, se define el vector 𝑖 𝑝𝑖 , el cual es el que une el origen del sistema 𝑆𝑖−1 con el origen

del sistema 𝑠𝑖 expresado en el sistema 𝑠𝑖 .Estos valores se tienen a continuación:

1
𝑝1 = [0 231.5 ∙ 10−3 0]𝑇 (3.38)

2
𝑝2 = [221.1 ∙ 10−3 0 0]𝑇 (3.39)

3
𝑝3 = [0 0 0]𝑇 (3.40)

4
𝑝4 = [0 −223 ∙ 10−3 0]𝑇 (3.41)

5
𝑝5 = [90 ∙ 10−3 0 0]𝑇 (3.42)

Siguiendo con el algoritmo, lo que se obtiene a continuación son las coordenadas de

𝑖
𝑠𝑖 , las cuales son el centro de masa del eslabón 𝑖 respecto al sistema 𝑠𝑖 . Estos valores

fueron obtenidos del archivo CAD del SolidWorks.

1
𝑠1 = [−7.796 ∙ 10−4 6.97 ∙ 10−4 1.47 ∙ 10−2 ]𝑇 (3.43)

2
𝑠2 = [−4.364 ∙ 10−3 4.039 ∙ 10−3 2.154 ∙ 10−2 ]𝑇 (3.44)

3
𝑠3 = [1.458 ∙ 10−3 5.27 ∙ 10−3 5.897 ∙ 10−4 ]𝑇 (3.45)

INGENIERÍA MECATRÓNICA 32
UNIVERSIDAD NACIONAL DE TRUJILLO

4
𝑠4 = [−2.58 ∙ 10−3 −1.123 ∙ 10−3 −1.776 ∙ 10−2 ]𝑇 (3.46)

5
𝑠5 = [2.831 ∙ 10−3 1.404 ∙ 10−2 −4.124 ∙ 10−2 ]𝑇 (3.47)

Finalmente, la matriz de inercia 𝑖 𝐼𝑖 , del eslabón 𝑖 expresado en un sistema paralelo a 𝑆𝑖 y

con el origen en el centro de masas del eslabón. Estos valores fueron obtenidos del

archivo CAD del SolidWorks.

1
𝐼1 = [−7.796 ∙ 10−4 6.97 ∙ 10−4 1.47 ∙ 10−2 ]𝑇 (3.43)

2
𝐼2 = [−4.364 ∙ 10−3 4.039 ∙ 10−3 2.154 ∙ 10−2 ]𝑇 (3.44)

3
𝐼3 = [1.458 ∙ 10−3 5.27 ∙ 10−3 5.897 ∙ 10−4 ]𝑇 (3.45)

4
𝐼4 = [−2.58 ∙ 10−3 −1.123 ∙ 10−3 −1.776 ∙ 10−2 ]𝑇 (3.46)

5
𝐼5 = [2.831 ∙ 10−3 1.404 ∙ 10−2 −4.124 ∙ 10−2 ]𝑇 (3.47)

𝑖−1
A continuación, se obtiene las matrices de rotación 𝑅𝑖 y sus inversos 𝑖𝑅𝑖−1 . Estas

matrices de rotación fueron determinadas en el modelado cinemático directo. Ya

obtenidas estas matrices, procedemos a aplicarles su inversa para obtener el valor de

las matrices 𝑖 𝑅𝑖−1 .

−𝑠𝑒𝑛(𝑞1 ) −cos (q1 ) 0 (3.53)


1
𝑅0 = [ 0 0 1]
− cos(𝑞1 ) 𝑠𝑒𝑛(𝑞1 ) 0

INGENIERÍA MECATRÓNICA 33
UNIVERSIDAD NACIONAL DE TRUJILLO

cos (q 2 ) 𝑠𝑒𝑛(𝑞2 ) 0 (3.54)


2
𝑅1 = [−𝑠𝑒𝑛(𝑞2 ) cos (q 2 ) 0]
0 0 1

−𝑠𝑒𝑛(𝑞3 ) −cos (q 3 ) 0 (3.55)


3
𝑅2 = [ 0 0 1]
− cos(𝑞3 ) 𝑠𝑒𝑛(𝑞3 ) 0

cos (q 4 ) 𝑠𝑒𝑛(𝑞4 ) 0 (3.56)


4
𝑅3 = [ 0 0 −1]
− sen(𝑞4 ) 𝑐𝑜𝑠(𝑞4 ) 0

sen (q 5 ) −𝑐𝑜𝑠(𝑞4 ) 0 (3.57)


5
𝑅4 = [ cos (q 5 ) sen (q 5 ) −1]
− sen(𝑞4 ) 𝑐𝑜𝑠(𝑞4 ) 0

A continuación, emplearemos los valores obtenidos inicialmente para poder hallar las

𝑖
velocidades angulares 𝜔𝑖 , con respecto al sistema 𝑠𝑖 .

1
𝜔1 = 1𝑅0 ∙ ( 0𝜔0 + 𝑧0 ∙ 𝑞1̇ ) (3.58)

2
𝜔2 = 2𝑅1 ∙ ( 1𝜔1 + 𝑧1 ∙ 𝑞2̇ ) (3.59)

3
𝜔3 = 3𝑅2 ∙ ( 2𝜔2 + 𝑧2 ∙ 𝑞3̇ ) (3.60)

4
𝜔4 = 4𝑅3 ∙ ( 3𝜔3 + 𝑧3 ∙ 𝑞4̇ ) (3.61)

5
𝜔5 = 5𝑅4 ∙ ( 4𝜔4 + 𝑧4 ∙ 𝑞5̇ ) (3.62)

Seguido a esto, se determinarán las aceleraciones angulares 𝜔̇ 𝑖 con respecto al


𝑖

sistema 𝑠𝑖 .

INGENIERÍA MECATRÓNICA 34
UNIVERSIDAD NACIONAL DE TRUJILLO

1
𝜔̇ 1 = 1𝑅0 ∙ ( 0𝜔̇ 0 + 𝑧0 ∙ 𝑞1̈ ) + 0𝜔0 × (𝑧0 ∙ 𝑞1̇ ) (3.63)

2
𝜔̇ 2 = 2𝑅1 ∙ ( 1𝜔̇ 1 + 𝑧1 ∙ 𝑞2̈ ) + 1𝜔1 × (𝑧0 ∙ 𝑞2̇ ) (3.64)

3
𝜔̇ 3 = 3𝑅2 ∙ ( 2𝜔̇ 2 + 𝑧2 ∙ 𝑞3̈ ) + 2𝜔2 × (𝑧0 ∙ 𝑞3̇ ) (3.65)

4
𝜔̇ 4 = 4𝑅3 ∙ ( 3𝜔̇ 3 + 𝑧3 ∙ 𝑞4̈ ) + 3𝜔3 × (𝑧0 ∙ 𝑞4̇ ) (3.66)

5
𝜔̇ 5 = 5𝑅4 ∙ ( 4𝜔̇ 4 + 𝑧4 ∙ 𝑞5̈ ) + 4𝜔4 × (𝑧0 ∙ 𝑞5̇ ) (3.67)

Ahora, se determinan las aceleraciones lineales del sistema 𝑠𝑖 , tal y como se muestra

a continuación.

1
𝑣̇ 1 = 1𝜔̇ 1 × 1𝑝1 + 1𝜔1 × ( 1𝜔1 × 1𝑝1 ) + 1𝑅0 ∙ 0𝑣̇ 0 (3.68)

2
𝑣̇ 2 = 2𝜔̇ 2 × 2𝑝2 + 2𝜔2 × ( 2𝜔2 × 2𝑝2 ) + 2𝑅1 ∙ 1𝑣̇ 1 (3.69)

3
𝑣̇ 3 = 3𝜔̇ 3 × 3𝑝3 + 3𝜔3 × ( 3𝜔3 × 3𝑝3 ) + 3𝑅2 ∙ 2𝑣̇ 2 (3.70)

4
𝑣̇4 = 4𝜔̇ 4 × 4𝑝4 + 4𝜔4 × ( 4𝜔4 × 4𝑝4 ) + 4𝑅3 ∙ 3𝑣̇ 3 (3.71)

5
𝑣̇ 5 = 5𝜔̇ 5 × 5𝑝5 + 5𝜔5 × ( 5𝜔5 × 5𝑝5 ) + 5𝑅4 ∙ 4𝑣̇4 (3.72)

Posteriormente a ello, se determinan las aceleraciones lineales del centro de gravedad

de cada eslabón 𝑖. Una vez tenidos estos valores de aceleración, es posible determinar

la fuerza ejercida sobre cada uno de estos eslabones. Para el cálculo de fuerzas es

importante recalcar que este es un método recursivo hacia atrás, es decir, el cálculo de

INGENIERÍA MECATRÓNICA 35
UNIVERSIDAD NACIONAL DE TRUJILLO

las fuerzas se debe realizar desde el último eslabón hasta el primero, tal y como se

muestra a continuación.

5
𝑓5 = 5𝑅6 ∙ ( 6𝑓6 ) + 𝑚5 ∙ 5𝑎5 (3.73)

4
𝑓4 = 4𝑅5 ∙ ( 5𝑓5 ) + 𝑚4 ∙ 4𝑎4 (3.74)

3
𝑓3 = 3𝑅4 ∙ ( 4𝑓4 ) + 𝑚3 ∙ 3𝑎3 (3.75)

2
𝑓2 = 2𝑅3 ∙ ( 3𝑓3 ) + 𝑚2 ∙ 2𝑎2 (3.76)

1
𝑓1 = 1𝑅2 ∙ ( 2𝑓2 ) + 𝑚1 ∙ 1𝑎1 (3.77)

Estos valores obtenidos de las fuerzas, junto con los demás valores obtenidos

anteriormente, nos permitirá obtener los pares ejercidos en cada una de las

articulaciones. De igual manera que para el cálculo de las fuerzas, este cálculo presenta

una recursividad hacia atrás.

5
𝑛5 = 5𝑅6 ∙ { 6𝑛6 + [ 6𝑅5 ∙ 5𝑝5 ] × 6𝑓6 } (3.78)

+ ( 5𝑝5 + 5𝑠5 ) × (𝑚5 ∙ 5𝑎5 ) + 5𝐼5 ∙ 5𝜔5

+ 5𝜔5 × ( 5𝐼5 ∙ 5𝜔5 )

4
𝑛4 = 4𝑅5 ∙ { 5𝑛5 + [ 5𝑅4 ∙ 4𝑝4 ] × 5𝑓5 } (3.79)

+ ( 4𝑝4 + 4𝑠4 ) × (𝑚4 ∙ 4𝑎4 ) + 4𝐼4 ∙ 4𝜔4

+ 4𝜔4 × ( 4𝐼4 ∙ 4𝜔4 )

INGENIERÍA MECATRÓNICA 36
UNIVERSIDAD NACIONAL DE TRUJILLO

3
𝑛3 = 3𝑅4 ∙ { 4𝑛4 + [ 4𝑅3 ∙ 3𝑝3 ] × 4𝑓4 } (3.80)

+ ( 3𝑝3 + 3𝑠3 ) × (𝑚3 ∙ 3𝑎3 ) + 3𝐼3 ∙ 3𝜔3

+ 3𝜔3 × ( 3𝐼3 ∙ 3𝜔3 )

2
𝑛2 = 2𝑅3 ∙ { 3𝑛3 + [ 3𝑅2 ∙ 2𝑝2 ] × 3𝑓3 } (3.81)

+ ( 2𝑝2 + 2𝑠2 ) × (𝑚2 ∙ 2𝑎2 ) + 2𝐼2 ∙ 2𝜔2

+ 2𝜔2 × ( 2𝐼2 ∙ 2𝜔2 )

1
𝑛1 = 1𝑅2 ∙ { 2𝑛2 + [ 2𝑅1 ∙ 1𝑝1 ] × 2𝑓2 } (3.82)

+ ( 1𝑝1 + 1𝑠1) × (𝑚1 ∙ 1𝑎1 ) + 1𝐼1 ∙ 1𝜔1

+ 1𝜔1 × ( 1𝐼1 ∙ 1𝜔1 )

Finalmente, ya obtenidos todos los datos necesarios, se procederá a calcular el torque.

Estos resultados se muestran a continuación.

𝑇
𝜏1 = 1𝑛1 ∙ ( 1𝑅0 ∙ 𝑧0 ) (3.83)

𝑇
𝜏2 = 2𝑛2 ∙ ( 2𝑅1 ∙ 𝑧0 ) (3.84)

𝑇
𝜏3 = 3𝑛3 ∙ ( 3𝑅2 ∙ 𝑧0 ) (3.85)

𝑇
𝜏4 = 4𝑛4 ∙ ( 4𝑅3 ∙ 𝑧0 ) (3.86)

𝑇
𝜏5 = 5𝑛5 ∙ ( 5𝑅4 ∙ 𝑧0 ) (3.87)

De esta manera, se obtienen los torques producidos en cada articulación.

INGENIERÍA MECATRÓNICA 37
UNIVERSIDAD NACIONAL DE TRUJILLO

3.5.2. Análisis Dinámico Directo

Para la obtención del modelo dinámico directo, se hará uso del criterio de Walker –

Orin. Específicamente haremos uso del 3er método propuestos por ellos.

Para este método, se obtendrá el vector de velocidades articulares de la siguiente

manera:

𝑞̈ = 𝐻 (𝑞)−1 ∙ (𝜏 − 𝑏) (3.88)

Sabiendo, que el valor de ‘b’, se puede calcular de la siguiente manera.

𝑏 = 𝐶 (𝑞, 𝑞̇ )𝑞̇ + 𝐺 (𝑞) + 𝐾 (𝑞)𝑇 𝑘 (3.89)

El principal problema que presenta la dinámica directa es la obtención de la matriz de

los momentos de inercia. La cual tiene la siguiente forma:

ℎ11 ℎ12 ℎ13 ℎ14 ℎ15


ℎ21 ℎ22 ℎ23 ℎ24 ℎ25
𝐻 (𝑞) = ℎ31 ℎ32 ℎ33 ℎ34 ℎ35 (3.90)
ℎ41 ℎ42 ℎ43 ℎ44 ℎ45
[ℎ51 ℎ52 ℎ53 ℎ54 ℎ55 ]

Para ello, se aprovechará de la simetría de la matriz para el cálculo de la diagonal

principal y los términos de la mitad superior.

Para ello, como primer paso, se procederá a crear una matriz de Inercias, en la cual

colocaremos todos los momentos de inercias obtenidos del modelo CAD.

INGENIERÍA MECATRÓNICA 38
UNIVERSIDAD NACIONAL DE TRUJILLO

1
𝐼1
2
𝐼2
𝐽 = 3𝐼3 (3.91)
4
𝐼4
5
[ 𝐼5 ]

Una vez obtenidos estos valores, se procederán a obtener los valores de los vectores

𝑖 𝑖
𝑠𝑖 y 𝑝𝑖 , los cuales están referidos al propio sistema 𝑠𝑖 y han sido obtenidos en la

dinámica inversa.

Para la obtención de la matriz H, se obtendrán en un inicio los valores de fuerza y

momentos totales sobre los eslabones:

𝐹𝑗 = 𝑀𝑗 𝑣̇𝑗 = 𝑀𝑗 (𝑧𝑗−1 × 𝑐𝑗 ) = 𝑧𝑗−1 × (𝑀𝑗 𝑐𝑗 ) (3.92)


}
𝑁𝑗 = 𝐸𝑗 𝑧𝑗−1

Donde los valores de 𝑐𝑗 y 𝐸𝑗 son calculados de la siguiente manera

1
𝑐𝑗 = [𝑚 (𝑠 + 𝑝𝑗∗ ) + 𝑀𝑗+1 (𝑐𝑗+1 + 𝑝𝑗∗ )]
𝑀𝑗 𝑗 𝑗

𝐸𝑗 = 𝐸𝑗−1 + 𝑀𝑗−1 [(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 ) ∗ (𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 )𝐼


𝑇 (3.93)
−(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 )(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 ) ] + 𝐽𝑗 + 𝑚𝑗
𝑇
[(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 ) ∗ (𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 )𝐼 − (𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 )(𝑐𝑗+1 + 𝑝𝑗∗ − 𝑐𝑗 ) ] }

Teniendo en cuenta que, los valores que toman 𝐹𝑖 y 𝑁𝑖 son cero cuando 𝑖 < 𝑗, entonces

tenemos:

INGENIERÍA MECATRÓNICA 39
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑓𝑖 = 𝑓𝑖+1
} 𝑝𝑎𝑟𝑎 𝑖 = 1 … 𝑗 − 1
𝑛𝑖 = 𝑛𝑖+1 + 𝑝𝑖∗ × 𝑓𝑖+1

𝑓𝑗 = 𝐹𝑗 (3.94)
} 𝑝𝑎𝑟𝑎 𝑙𝑜𝑠 𝑜𝑡𝑟𝑜𝑠 𝑐𝑎𝑠𝑜𝑠
𝑛𝑗 = 𝑁𝑗 + 𝑐𝑗 + 𝐹𝑗

Finalmente, el valor de los elementos de la matriz 𝐻 (𝑞), quedarían expresados de la

siguiente manera:

𝐻𝑖𝑗 = 𝑧𝑖−𝑗 𝑛𝑗 (3.94)

3.6.Simulación y generación de trayectorias

Para realizar la simulación del robot utilizaremos el entorno de ROS (Robot Operating

System) en Ubuntu. Además, se hace uso de la extensión RViz para la visualización

de las posturas que adopta el robot. La secuencia para inicializar ambos consta de

comandos de ejecución desde la consola de Ubuntu. La generación de trayectorias se

hace en este apartado, partiendo desde una posición inicial preconfigurada a una

posición final. El entorno de ROS nos facilita la simulación con respecto a otros

softwares.

INGENIERÍA MECATRÓNICA 40
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 12. Interfaz en RViz para la simulación del robot. [Elaboración Propia]
Para la programación en Arduino para el movimiento de actuadores debemos

importar las librerías que se aprecian en la Figura 13.

Figura 13. Importación de Librerías de programa. [Elaboración Propia]


Se configura cada variable de junta indicando los pines de paso y dirección. Cabe

aclarar que el robot utiliza dos motores para la articulación base, por lo que se

configuran dos motores como se observa en la Figura 14.

INGENIERÍA MECATRÓNICA 41
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 14. Importación de Librerías de programa. [Elaboración Propia]


A diferencia de las juntas (que funcionarán de acuerdo a un número de pasos), el

‘gripper’ o Pinza funciona con un servo-motor, hecho que debemos definer:

Figura 15. Pinza del robot definida. [Elaboración Propia]


Se establecen velocidades máximas para cada motor, y se guardan todas las variables

de junta dentro de ‘steppers’ para su posterior envío a los motores.

INGENIERÍA MECATRÓNICA 42
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 16. Configuraciones de junta. [Elaboración Propia]


Otras configuraciones han sido aplicadas en la configuración de las máximas

velocidades que puede alcanzar el robot. El código de envío de cada uno de los pasos

a las posiciones y luego a los actuadores en la vida real muestra a continuación.

INGENIERÍA MECATRÓNICA 43
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 17. Envío de Steppers (pasos). [Elaboración Propia]


Los pasos que se envían a cada motor son análogos a posiciones angulares; todos estos

fueron generados en la planificación de trayectorias de ROS.

Se elaboró un programa en C++ llamado ‘move_it_Convert’, el cual realiza la

conversión de movimiento desde ROS a los pasos que requiere el Arduino.

Figura 18. Liberías y variables del programa en C++

INGENIERÍA MECATRÓNICA 44
UNIVERSIDAD NACIONAL DE TRUJILLO

Nótese que el vector ‘stepsPerRevolution’ almacena los números de pasos hallados


para la conversión. Luego se crea una función ‘cmd_cb’ que hace la transformación de
pasos a partir de dos ángulos.

Figura 19. Algoritmo de transformación de pasos. [Elaboración Propia]


Dentro de esta función se realiza el cambio de posición en la variable ‘total’, así mismo se

cambia la bandera ‘count’ a otro estado, esto quiere decir que la primera vez que se ejecuta

el código de la Figura 19, se toma en cuenta los ángulos de inicio, en el siguiente llamado

a la función solo se considera los ángulos previos.

Figura 20. Envío de Steppers (pasos). [Elaboración Propia]

INGENIERÍA MECATRÓNICA 45
UNIVERSIDAD NACIONAL DE TRUJILLO

La Función principal de este programa inicializa ROS definiendo los subscriptores y

publicadores, la velocidad de envío de datos y el llamado continuo a la función ‘cmd_cb’

mostrada en las Figuras 20 y 21.

Figura 21. Los subscriptores y publicadores son definidos y asociados a sus funciones.

INGENIERÍA MECATRÓNICA 46
UNIVERSIDAD NACIONAL DE TRUJILLO

3.7.Materiales y componentes

Para la implementación del brazo robótico BCN3D MOVEO de 5GDL se realizaron

diferentes compras de materiales y componentes, esto se puede detallar en las

siguientes tablas. En la Tabla 3 se detalla los motores, en la Tabla 4 se detalla la

electrónica y en la Tabla 5 la parte mecánica, sumando todos los costos, dio un total

de S/. 3170.19.

INGENIERÍA MECATRÓNICA 47
UNIVERSIDAD NACIONAL DE TRUJILLO

Tabla 3. Motores para la implementación del BCN3D MOVEO 5GDL [Elaboración


Propia]
Item Imagen Producto Ditribuidor Codigo Producto Costo Unt. Cant. Costo Envío Tiempo Envío Costo Total
MOTORES

Naylamp Servo MG946R 13kg S/40.00 1 S/0.00 Inmediata S/40.00

1 Servo Motor 180° 55G TORQUE=13KG/CM

MTLab MF S/39.00 1 1 día S/39.00

2 Stepper Motor Nema 14 SM35HT36-1004A, 1,8º step, 1A, 1400g·cm StepperOnline 14HS13-0804S $ 9.93 2 $ 47.31 3 a 6 días $ 67.17

3 StepperOnline 17HS19-2004S2 $ 10.86 2 $ 13.01 $ 34.73

Stepper Motor Nema 17 SM42HT47-1684 1,8º step, 1,6 A, 3600 g·cm

MTLab PHB42S48-402A S/90.00 2 S/0.00 S/180.00

Gear Ratio 5:1 Planetary Gearbox Nema 17 Stepper 17HS19-1684S-PG5 (


4 StepperOnline 17HS19-1684S-PG5 $ 26.90 2 $ - $ 53.80
step 0,35º , 2Nm, 1,68A)

5 StepperOnline 17HS13-1334S $ 8.66 2 $ - $ 17.32

Stepper Motor nema 17 SM42HT33-1334, 1,8º step, 1,33A, 2200 g·cm

6 MTLab PHB42S34-430A S/70.00 2 S/0.00 S/140.00

Aliexpress - $ 20.54 3 $ 122.98 $ 184.60

Nema 23, 112mm, Ø8mm flat shaft SM57HT112-3004A, step 1,8º, 3A,28Kg·cm

7 MTLab PHB57S112-430BD S/320.00 3 S/20.00 1 día S/980.00

INGENIERÍA MECATRÓNICA 48
UNIVERSIDAD NACIONAL DE TRUJILLO

Tabla 4. Electrónica para la implementación del BCN3D MOVEO 5GDL [Elaboración


Propia]
Item Imagen Producto Ditribuidor Codigo Producto Costo Unt. Cant. Costo Envío Tiempo Envío Costo Total
ELECTRONICA

Naylamp Modelo ARD-MEGA S/70.00 1 Inmediata S/70.00

8 Arduino Mega 2560

MTLab A5 S/60.00 1 1 día S/60.00

Naylamp Modelo SHD-RAMPS S/40.00 1 Inmediata S/40.00

9 RAMPS V1.4

MTLab E5 S/35.00 1 1 día S/35.00

10 Stepper Driver TB6560 MTLab EH S/42.00 5 1 día S/210.00

11 Power Supply 24 320W MTLab G8 S/130.00 1 1 día S/130.00

12 Power converter 24V a 12V Naylamp CVOLT-DW-8A S/40.00 1 Inmediata S/40.00

INGENIERÍA MECATRÓNICA 49
UNIVERSIDAD NACIONAL DE TRUJILLO

Tabla 5. Partes mecánicas para la implementación del BCN3D MOVEO 5GDL


[Elaboración Propia]
Item Imagen Producto Ditribuidor Codigo Producto Costo Unt. Cant. Costo Envío Tiempo Envío Costo Total
PARTES MECÁNICAS

Chrome steel smooth bar-134mm Naylamp -

Chrome steel smooth bar-114mm Naylamp -

13 S/50.00 1 S/0.00 Inmediata S/50.00


Chrome steel smooth bar-80mm Naylamp -

ROD BAR M8 L 42mm Naylamp -

17 Ball Bearing 608ZZ 8mm x 22mm x 7mm SKF 608 2Z/C3 S/10.00 10 S/100.00

18 Ball Bearing 625ZZ 5mm x 16mm x 5mm SKF 625 2Z/C3 S/12.00 8 S/96.00

19 Ball Bearing 624ZZ 4mm x 13mm x 5mm SKF 624 2Z/C3 S/19.00 9 S/171.00

20 Ball Bearing 623ZZ 3mm x 10mm x 4mm NTN S/22.00 3 S/66.00

23 Pulley T5, Bore 8mm, 14 tooth, 17mm width Aliexpress - $ 9.20 1 $ 92.35 15 días $ 101.55

24 Pulley T5, Bore 5mm, 10 tooth, 17 mm width Aliexpress - $ 8.42 1 $ 113.60 15 días $ 122.02

25 ZCOUPLING STEEL 5 TO 8 mm rigid Naylamp Modelo MEC-ACF-5A8 S/12.00 1 S/0.00 Inmediata S/12.00

26 Axial Fan DC 24V 80x80mm La Cochera - S/10.00 1 S/0.00 Inmediata S/10.00

27 Axial Fan DC 24V 50x50mm La Cochera - S/10.00 1 S/0.00 Inmediata S/10.00

Powwer supply cable IEC 1,8m Ymis - S/10.00 1 S/0.00 Inmediata S/10.00

29 Cable USB 2.0 AM/BM 1,8m Ymis - S/8.00 1 S/0.00 Inmediata S/8.00

30 Cable Ties Ymis - S/5.00 1 Inmediata S/5.00

33 Wood Base - 550mm x 550mm x 16mm S/50.00

34 Breco belt T5, 16mm width, L 180cm MTLab FBZ S/37.00 1 S/0.00 1 día S/37.00

INGENIERÍA MECATRÓNICA 50
UNIVERSIDAD NACIONAL DE TRUJILLO

3.8.Ensamblaje

Se ensambló el BCN3D MOVEO 5GDL con los materiales y componentes adquiridos,

guiándonos del CAD en SolidWorks. En la figura 22 se puede observar cómo se

ensambló los primeros eslabones y motores, también se cableó los drivers TB6560.

Figura 22. Ensamblaje de los primeros eslabones. [Elaboración Propia]

Progresivamente se añadió los demás eslabones al robot como se puede observar en

la Figura 23. Progresivamente se añadió los demás eslabones al robot como se puede

observar en la figura 23.

INGENIERÍA MECATRÓNICA 51
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 23. Adición de un eslabón. [Elaboración Propia]

3.9.Configuración de los motores con sus respectivos drivers

Se hizo el cableado con el Arduino, los drivers y motores de acuerdo al esquemático

que se puede observar en la Figura 24. Se hizo el cableado con el Arduino, los

drivers y motores de acuerdo al esquemático que se puede observar en la figura 25.

INGENIERÍA MECATRÓNICA 52
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 24. Esquemático de circuito del robot [Elaboración Propia]


Para cada motor se utilizó un driver TB6560, por ende, se hizo necesario la

configuración de estos drives con los motores, se utilizó las librerías AccelStepper y

MultiStepper para las pruebas de configuración. La librería AccelStepper sirvió para

poder declarar objetos llamados “joint” los cuales tienen tres argumentos, el primero

sirve para indicar el modo de conexión del Arduino al motor, en nuestro caso seria “1”

debido que tenemos un driver de por medio, el segundo argumento indica el PIN del

driver el cual va a recibir los pulsos enviados del Arduino para el movimiento del

motor y por último el PIN del driver el cual va a controlar si el giro es horario o

antihorario.

Con estos objetos podemos setear las velocidades máximas de los motores. Gracias a

los objetos creados y el uso de la librería MultiStepper, se hizo las pruebas de giro de

los motores. La finalidad de las pruebas fue encontrar el funcionamiento óptimo de

cada motor, mediante la configuración de los switchs, variando estos se pudo observar

INGENIERÍA MECATRÓNICA 53
UNIVERSIDAD NACIONAL DE TRUJILLO

que cada motor gire de manera correcta con un adecuado torque y sin mucho ruido.

En la Figura 26 se puede observar los switchs del driver SW1, SW2, SW3, S1, S2, S3,

S4, S5 y S6 los cuales fueron manipulados para las diferentes pruebas con cada motor.

Figura 25.Esquemático del driver TB6560[Fuente: Projectiot123.com]


Una vez configurado cada motor con su driver, mediante la tabla del driver se observa

la corriente que el driver otorga al motor. Posteriormente a esto se calcula la relación

de transmisión de cada motor con sus bandas ya seteadas las velocidades optimas

obtenidas de la prueba anterior, de esta manera se pudo saber cuántos pulsos son

necesario para mover cada articulación del robot una vuelta completa, sabiendo esto

se puede planificar el giro requerido desde los scripts de Arduino. Para hacer este

cálculo se hizo mediante prueba y error mediante la observación.

Se consideró factores de dirección en el script de Arduino, estos fueron obtenidos

mediante la comprobación de la simulación con la implementación. Se hizo la prueba

de movimiento para cada motor en la simulación y se verifico si los giros eran en los

mismos sentidos en la implementación, si el resultado era que los giros eran inversos

INGENIERÍA MECATRÓNICA 54
UNIVERSIDAD NACIONAL DE TRUJILLO

de la simulación a implementación se colocaba un factor de -1 a los datos recibidos

mediante simulación para el envío de datos a Arduino, el cual controla el robot.

Finalmente se comprobó los limites mecánicos del robot, para esto se giró cada eslabón

respecto a su eje de rotación para comprobar los ángulos máximos que mecánicamente

pueden girar cada eslabón.

INGENIERÍA MECATRÓNICA 55
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 4

Resultados y Discusiones

4.1 Resultados

4.1.1 Robot de 5GDL

Para el caso de la comprobación de los modelos tanto de cinemática como

dinámica, se emplearon valores arbitrarios para posición, velocidad y aceleración

angular. Estos valores fueron los siguientes:

𝑞 = [0.8235 0.6948 0.3171 0.9502 0.0344] 𝑟𝑎𝑑 (4.1)

𝑞̇ = [0.4387 0.3816 0.7655 0.7952 0.1869] 𝑟𝑎𝑑/𝑠 (4.2)

𝑞̈ = [0.4898 0.4456 0.6463 0.7094 0.7547] 𝑟𝑎𝑑/𝑠 2 (4.3)

4.1.1.1 Cinemática Directa

Teniendo en este caso el valor de 𝑞, procederemos a ejecutar el algoritmo realizado

en Matlab. Donde obtenemos el valor de la Matriz de transformación 05𝑇

0.3266 0.9414 −0.0845 −0.0721 (4.4)


0 −0.7015 0.1815 −0.6892 0.1617
5𝑇 = [ −0.6334 0.2843 0.7197 0.3672 ]
0 0 0 1

4.1.1.2 Cinemática Inversa

Para este caso, consideraremos el vector de posición resultante de la cinematica

directa, para poder corroborar el correcto funcionamiento del algoritmo creado.

INGENIERÍA MECATRÓNICA 56
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑞2 = [1.9906 −2.2096 2.4033 4.5067 −0.0198] (4.4)

Para poder verificar el correcto funcionamiento del algoritmo, ingresaremos este

nuevo valor de q a nuestra cinemática directa, y corroboraremos que la posición sea

la misma que en un inicio.

0.6908 0.2133 0.6908 −0.0721 (4.5)


0 −0.4318 0.8881 0.1575 0.1617
5𝑇 = [ −0.5799 −0.4071 0.7056 0.3672 ]
0 0 0 1

Como podemos observar, la posición en ambas matrices de transformación es

idénticas, por tal motivo podemos corroborar el correcto funcionamiento del

algoritmo realizado.

4.1.1.3 Cinemática Diferencial

Para poder comprobar el valor del Jacobiano de velocidades, tendremos en cuenta

el valor del vector q.

−0.162 0.0995 0.183 0 0 (4.6)


−0.072 −0.092 0.119 0 0
𝐽= 0 0.163 −0.045 0 0
0 0.68 −0.47 −0.323 0.941
0 0.734 0.435 0.725 0.182
[ 1 6.12 ∙ 10−17 −𝑜. 768 0.608 0.284]

Teniendo los valores de 𝑞, 𝑞̇ procederemos a calcular la velocidad lineal y la

velocidad angular.

INGENIERÍA MECATRÓNICA 57
UNIVERSIDAD NACIONAL DE TRUJILLO

𝑣 = [0.107 0.0244 0.028] 𝑚/𝑠 (4.1)

𝜔 = [−0.181 1.22 0.388] 𝑟𝑎𝑑/𝑠 (4.2)

4.1.1.4 Dinámica Inversa

Consideraremos los valores de Consideraremos los valores de 𝑞, 𝑞̇ , 𝑞̈ como entradas para

el algoritmo realizado en Matlab. Además, consideraremos que el brazo robótico no

posee una masa en su efector final.

Como resultado, obtendremos los torques aplicados en cada articulación del robot.

𝜏1 = 3.555 ∙ 103 𝑁. 𝑚 (4.9)

𝜏2 = 5.3632 ∙ 103 𝑁. 𝑚 (4.10)

𝜏3 = 0.009 ∙ 103 𝑁. 𝑚 (4.11)

𝜏4 = 0 ∙ 103 𝑁. 𝑚 (4.12)

𝜏5 = 0 ∙ 103 𝑁. 𝑚 (4.13)

4.1.1.5 Dinámica Directa

Teniendo los valores de los torques en cada articulación, estos como entrada para

nuestra dinámica directa, en la cual tendremos como resultado el vector de

aceleración articular. Este será ingresado nuevamente a la dinámica inversa para

poder verificar que los torques resultantes sean los mismo obtenidos inicialmente.

Cabe adicionar, que se mostraran los valores obtenidos de la matriz de momentos

de inercias obtenida en el desarrollo del algoritmo.

INGENIERÍA MECATRÓNICA 58
UNIVERSIDAD NACIONAL DE TRUJILLO

0.001 1.0964 0 0 0 (4.14)


1.0964 0.002 0 0 0
𝐻(𝑞) = 0 0 0 0 0 ∙ 104
0 0 0 0 0
[ 0 0 0 0 0]

De este algoritmo obtenemos:

𝑞̈ 2 = [0.4897 0.4456 1.3897 −3.0102 3.223] (4.15)

Estos valores serán ingresados al algoritmo de dinámica inversa, para verificar el

que los torques resultantes sean los mimos:

𝜏 = [3.5546 5.3626 −0.008 0 0] ∙ 103 𝑁. 𝑚 (4.16)

4.1.2 Robot de 5GDL

Primero se hizo las impresiones en 3D de todo el robot. Ello se logró con el CAD

del robot. Luego de ello se hizo el ensamblado de todas las piezas teniendo en

cuenta que las fajas que mueven las articulaciones tuviesen que estar templados.

Para templarlo se tuvo que ver que los encaje perfectamente con los dientes del

engranaje. Para ello también se usó ejes en las articulaciones. La segunda

articulación se mueve debido a dos motores. Esto es debido a que ahí necesita más

torque.

INGENIERÍA MECATRÓNICA 59
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 26. Robot de 5GDL. [Fuente. Elaboración propia.]


Posterior al ensamblado se hizo las conexiones según los esquemáticos. Además,

se tuvo en cuenta la corriente que debía llegar a los drivers. Para ello se usó la

secuencia de 0 o 1 que se especifican en el mismo dispositivo para poder saber

cuánta corriente les está llegando. Para el servomotor del gripper también se le

hizo las conexiones. Ello se le conecta a un regulador de voltaje y luego se le hace

el puenteo para conectarlo al Arduino.

INGENIERÍA MECATRÓNICA 60
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 27. Conexiones a los drives y al Arduino. [Fuente. Elaboración propia.]


4.1.3 Resultados de pruebas de los motores con sus drivers

En la tabla 6 se observa las configuraciones de switch de cada driver con sus

respectivas corrientes para que los motores tengan un funcionamiento óptimo, con

suficiente torque y no tan ruidosos.

Tabla 6. Configuraciones del switch de cada driver.


DRIVER SW1 SW2 SW3 S1 S2 S3 S4 S5 S6 Corriente(A)
MOTOR 1 1 0 0 0 0 0 0 0 0 1.6
MOTOR 2A 1 1 1 1 0 0 0 0 0 2.2
MOTOR 2B 1 1 1 1 0 0 0 0 0 2.2
MOTOR 3 1 0 0 0 0 0 0 0 0 1.6
MOTOR 4 1 1 0 1 0 0 0 0 0 1.8
MOTOR 5 0 1 0 1 0 0 0 0 0 0.8

En la tabla 7 se observa las relaciones de trasmisiones las cuales fueron halladas

de manera empírica con prueba y error.

INGENIERÍA MECATRÓNICA 61
UNIVERSIDAD NACIONAL DE TRUJILLO

Tabla 7. Relación de Transmisiones.


Motor Relacion de transmision
MOTOR 1 10 a 1
MOTOR 2A 5a1
MOTOR 2B 5a1
MOTOR 3 20 a 1
MOTOR 4 1a1
MOTOR 5 4a1

En la tabla 8 se observa los pasos requeridos para realizar giros de diferentes

ángulos en cada motor aplicando su relación de transmisión.

Tabla 8. Pasos requeridos


Motor pasos/vuelta (motor) Relación transmision 45 90 180 270 360
MOTOR 1 200 10 250 500 1000 1500 2000
MOTOR 2A 200 5 125 250 500 750 1000
MOTOR 2B 200 5 125 250 500 750 1000
MOTOR 3 200 20 500 1000 2000 3000 4000
MOTOR 4 200 1 25 50 100 150 200
MOTOR 5 200 4 100 200 400 600 800

En la tabla 9 se observa los factores de dirección de cada motor, después de la


comprobación de simulación con implementación.
Tabla 9 Factores de Transmisión del motor
MOTOR Factor de Dirección
MOTOR 1 -1
MOTOR 2A 1
MOTOR 2B -1
MOTOR 3 1
MOTOR 4 1
MOTOR 5 -1

En la tabla 10 se observa los topes o limites mecánicos de giro de los eslabones,

estos fueron hallados de manera empírica manualmente.

INGENIERÍA MECATRÓNICA 62
UNIVERSIDAD NACIONAL DE TRUJILLO

Tabla 10. Límites de giro de los eslabones.


Motor Topes (Mas menos) Con FS
MOTOR 1 180 hacia adelante desde el tope 150
MOTOR 2A 120 105
MOTOR 2B 120 105
MOTOR 3 105 97
MOTOR 4 INDEFINIDO
MOTOR 5 105 97

4.1.4 Control de Gripper

Se logró hacer un control preciso de la pinza, pudiendo indicar varias posiciones

de prueba.

Figura 28. Se puede mover la pinza el ángulo deseado. [Fuente. Elaboración


propia.]
4.1.5 Movimiento del motor

Según lo establecido en la metodología, se ubicó el robot en su posición inicial (una

con los eslabones orientados verticalmente), y luego se cambió a una posición final.

La opción “planificar trayectoria” de ROS es la que calcula todos los pasos

INGENIERÍA MECATRÓNICA 63
UNIVERSIDAD NACIONAL DE TRUJILLO

necesarios para realizar el movimiento de trayectoria entre ambos puntos, y el botón

de “ejecutar” manda esta información directa al Arduino.

Figura 29. Visualización de las dos posiciones para la planificación de trayectorias.


[Fuente. Elaboración propia.]
Una vez se ejecuta el programa y se envían los datos correspondientes al Arduino,

el robot empieza a moverse hasta aproximarse a la posición final indicada.

INGENIERÍA MECATRÓNICA 64
UNIVERSIDAD NACIONAL DE TRUJILLO

Figura 30. Postura del robot luego de la ejecución del programa. [Fuente.
Elaboración propia.]
Realizando varias pruebas con posiciones hemos encontrado que el robot tiende a

la postura final que indica la simulación.

4.2 Discusiones

La inexactitud de la posición final en el robot se puede deber a errores en la

conversión de pasos en el Arduino, esto ya que cada motor sigue una relación de

transmisión; la cual, si bien se ha determinado por múltiples observaciones, no se

ha logrado determinar de manera exacta. El robot “cae” una vez que se apaga la

alimentación, se debe tener cuidado con esto para evitar problemas.

INGENIERÍA MECATRÓNICA 65
UNIVERSIDAD NACIONAL DE TRUJILLO

Capítulo 5

Conclusiones y Recomendaciones

▪ Se identificaron los parámetros técnicos para arrancar los motores, considerando

los pasos necesarios para el giro adecuado de cada uno y las relaciones de

trasmisiones.

▪ Se logró obtener el modelo CAD de cada parte del robot de 5GDL, las piezas

corresponden en forma y tamaño a las existentes.

▪ Se obtuvo el modelo cinemático del robot de 5GDL, esto incluyó cinemática

directa, inversa y diferencial.

▪ Se obtuvo el modelo dinámico del robot de 5 GDL mediante Newton - Euler.

▪ Se planificaron trayectorias para el robot utilizando el software ROS, se utilizó

esta misma aplicación para la planificación completa de la trayectoria.

▪ Se implementó el robot funcional, controlando sus movimientos desde la PC.

INGENIERÍA MECATRÓNICA 66
UNIVERSIDAD NACIONAL DE TRUJILLO

Referencias Bibliográficas

Barrientos, A. (2007). Fundamentos de Robótica. España: McGraw-Hill.


Craig J., J. (2006). Robótica. Mexico: Pearson.
Jadeja, Y. (2018). Design And Development Of 5-DOF Robotic Arm Manipulators.
INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY
RESEARCH.
Kunar Saha, S. (2008). Introducción a la Robótica. Mexico: McGraw-Hill.
ORIDATE Ademola, A. (2014). DESIGN, SIMULATION AND FABRICATION OF A 5-
DOF ROBOTIC ARM. OBAFEMI AWOLOWO UNIVERSITY ILE-IFE,
NIGERIA. .
Roshanianfard, A. (2016). Development of a 5DOF robotic arm (RAVebots-1) applied to
heavy products harvesting.
S., F. K. (1987). Robotics Control, Sensing, Vision, and Intelligence. McGRaw-Hill.
Siciliano, B. (2009). Robotics Modelling, Planning and Control. United Kingdom:
Springer.
Sushrut Jigneshbhai, G. (2019). Design, Simulation and Testing of a Controller and
Software Framework for Automated Construction by a Robotic Manipulator.
ARIZONA STATE UNIVERSITY.

INGENIERÍA MECATRÓNICA 67
UNIVERSIDAD NACIONAL DE TRUJILLO

Anexos

Anexo 1. Carpeta de programas para obtener la cinemática directa del robot

https://drive.google.com/drive/folders/1kz1qYSzJzimOHXzfmCmndnVQ4DHUE

Hna?usp=sharing

Anexo 2. Carpeta de programas para obtener la cinemática inversa del robot

https://drive.google.com/drive/folders/1bhsR_H1E5ErodT54iBDOUvz6x-

QA3kNC?usp=sharing

Anexo 3. Carpeta de programas para obtener la cinemática diferencial del

robot

https://drive.google.com/drive/folders/1c3feF5O4LduBWvgkstbc6QaE_LJZef3_?

usp=share_link

Anexo 4. Carpeta de programas para obtener la dinámica del robot.

https://drive.google.com/drive/folders/1bCJCVvib1wrXLLdrTwcHH9yH1Bct8XI

m?usp=sharing

Anexo 5. Archivos ROS.

https://drive.google.com/drive/folders/1z9hWHoWbPEQE9iQuRafUP0Y0qT

TZTXpa?usp=share_link

Anexo 6. Planos de los modelos CAD del robot de 5 GDL BCN3D MOVEO.

INGENIERÍA MECATRÓNICA 68
UNIVERSIDAD NACIONAL DE TRUJILLO

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

F F

25.50
E E
0.00

R5
R1 0.00

6
R8

.5
11

0
.00

21
.59
D D

00
R10.
30
4.

15.50
C C

B B

TÍTULO:

1M1B
A A
MATERIAL: UNIDADES

mm
A3
PLA

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

65.00
E E

160.00

R5.00
00

R7
.
4.30 60

2.
1

50
D R1 D
0.0
0
8.35

22
.2
2
20
22.

25.00

C C

B B

TÍTULO:

1M2A
A A
MATERIAL: UNIDADES

mm
A3
PLA

ESCALA:1:2 HOJA 1 DE 1

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

54.30
F F

39.00

0
R16.0
E E

7.32
75.30

D D
8.29

0
.0
8.29

R7
.00

23.50
4.2 R4
0

R7

07
3.20 .00

7.
C C

34.30
40.30

34.30
B B

TÍTULO:

1M3A
A A
MATERIAL: UNIDADES

mm
A3
PLA

ESCALA:1:1 HOJA 1 DE 1

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

.00
F R 60 F
0
65.0
94.50
22
.2
5

5.20 48.40
E 0 E
.0
R9

160.00
160.00

00
R80.
D D

18.37
66.50

C C

B B

TÍTULO:

2M1D
A A
MATERIAL: UNIDADES

mm
A3
PLA

ESCALA:1:5 HOJA 1 DE 1

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

F 0 F
116.41 4.3
0.88

24.00

29.00
18.50

0
12.0
7.81 4.27

R2
E 47.35 E

0.
00
82.60
20.0020.00

R 47 . 00

00
3.00

R 52.
15.07
R VERDADERO60.00

8.80
8.76

9. 1 4

50
14.64

R2 .
6

0
8.0
15 . 6

D .0 0 0 D
3.61

R 7.81 0
R215.0

2 .1
R
2.89

8.30

0
32
R2.50

.1 9
4.99

3.10

R4.00
49.67
34.66
111.52

4.30

4.0

1. 3
C R6 C
1

4
4.01 0.0
0

R5
23.58

8. 7
16.66

5
2.69 3.09
18.50

B B
24.00

29.00
5.00

5.38 TÍTULO:

116.41

2M2HA
A A
MATERIAL: N.º DE DIBUJO
A3
PLA
mm
ESCALA:1:2 HOJA 1 DE 1

8
Producto SOLIDWORKS 7
Educational. Solo para uso en 6la enseñanza. 5 4 3 2 1
8 7 6 5 4 3 2 1

F 116.41 0 F
4.3

5.00
17.37
29.00
00
R2 0 .
00 42.60
20.
R
E E
82.60

.0 0
20.00 45.60

R6 0
R4 7 . 0

0
20.00

R5 2 . 0
17.37

0
15.07

.5
R 8 .0 0

8.80

R2
8.76

0
6
15 . 6
14.64

00
7.81

0.
7.3

R2
4.
0 0
8.3

3
2.98 2.79

0
D R4 . D
00

2 .1
0
32
111.52

.1 9
R2
0 .5
0.0 0
R6

R1
5.
C 29.00 C

00
18.50
18.50

24.00
29.00

B B
3.12
116.41
TÍTULO:

2M2MA
A A
MATERIAL: N.º DE DIBUJO
A3
PLA
mm
ESCALA:1:2 HOJA 1 DE 1

8
Producto SOLIDWORKS 7
Educational. Solo para uso en 6la enseñanza. 5 4 3 2 1
8 7 6 5 4 3 2 1

38.16
20.92 20.92
F F

00
R 9.

E E
20.00

35.86
51.00

102.76
R VERDADERO11.25
D D
R VERDADERO2.10

0
13.2
50
30

20
4.
7.

7.
10.00
R4
19.92

11.42

95.00
60.29
42.76

55.20
C C
19.92

10.66

0
20
4.3
7.
7.69
38.16
8.30

61.00 14.05

B B

TÍTULO:

3M1D
A A
MATERIAL: N.º DE DIBUJO
A3
PLA
mm
ESCALA:1:2 HOJA 1 DE 1

8
Producto SOLIDWORKS 7
Educational. Solo para uso en 6la enseñanza. 5 4 3 2 1
8 7 6 5 4 3 2 1

R3
5

.00
6.0 .6
0 R1
F F

30.60

9.71

2.00
R2
.0
94.78 18.87 0
E E

19.00

19.75
D D
00

85.00 63.87
R4
1.

.1
R1

175.00
70.00

30
3.

C C
0 R47.50
8.3

R1
2.5
0

R2
2.5
0
B B

TÍTULO:

3M2CC
A A
MATERIAL: Unidades

mm
A3
PLA
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

37.30
19.04
E E
50.00
52.00

D
R3
5.0 0 .00
0 R2
4.20
D D
22.30
4.15

0
24.0 .50
5.70 R3
R4.5
0 3.20
30.23

R5
.00 13.50

8.00
R10
.00
3.30
C C
7.00

D SECCIÓN D-D
4.
22.00
20
22.71

B B

TÍTULO:

4M1D
A A
MATERIAL: UNIDADES

PLA mm
A3

PESO: ESCALA:1:2 HOJA 1 DE 1

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

19.00
50.00

F F

9.00

24.00
3.30

R15.00 R5.
5.60 00

2.00
E 14.86 E
5.60

65°
60°
3.41
0
10.2

6.00
D 8.20 D

00
R35.

R3
0.
00
C C

.50
R27
R22.
50

R3.50
B B

TÍTULO:

4M2B
5
R1.2 R3
0.0
0
2.70

A 6.00 A
MATERIAL: UNIDADES

PLA mm
A3

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

9.00

3.30
R15.00 14.86

E E
14.86
50°

6.00
14.94

00
19.00

0.
R1
5.90 84.44°

2.1
D D

0
114
76.00

8.20

.61
°
64.88

0
10.2

C C

3.20

R35.0
0

B R27.50 B
R22.
50
0
R25.0
TÍTULO:

4M2CB
R1.25
2.70

A 6.00 A
MATERIAL: Unidades

mm
A3
PLA
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

0
.0
6
R1
E E

3.20
46.00

D D

50
1.
R5

R1
.3
4
.34
C R5 C
3.20
3.41

B B

TÍTULO:

Bottom Plate C
A A
MATERIAL: UNIDADES

mm
A3
PLA

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

0
75.00

.0
0
R1
27.00
22.00
E E

82.00

R19

R35.50

0
7.5
0 .5

R2
D D

73.00
81.00

C C
0
2.9

. 00
R15

B B

TÍTULO:

Fan Module
A A
MATERIAL: UNIDADES

mm
A3
PLA

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

3.75
41.73

R4.25

E E

41.73

71.54

D D
41.73

3.30
0
R7.00 3.3

C C

B B

TÍTULO:

Gripper Left B
A A
MATERIAL: UNIDADES

mm
A3
PLA

ESCALA:2:1 HOJA 1 DE 1

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

5
.2
F F

R4
R1
.0
0

21.75 R3.25

3.75
E E
41.73

71.54

D D

R2
.9
41.73

R7. 5

3.30
0
00 3.3

C C

B B

TÍTULO:

Gripper Right B
A A
MATERIAL: UNIDADES

mm
A3
PLA

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
51.23
5.24

4.00

6.00
.00
R VERDADERO1.00

R1
E E

50 .
R 11

12
R1 4 . 0
R6 . 0

1.54 R
5 .0 0

. 50
R1
19.43

0
R3
.0

0
0

R5
3.3

.0
19.02

0
D D
18.13

11.20

3.20
1.00

.00 19.02
19.60

.00
R4

R5

.00
.00

R1

R6
R1

.0

0
0

R 14 . 0
4.00
C C

R1
5.0
0
59.00
R1

R VERDADERO1.00
.0
0

4.00
6.00

B B

5.24 51.23
TÍTULO:

Idol Gear B
A A
MATERIAL: N.º DE DIBUJO
A3
PLA
mm
ESCALA:2:1 HOJA 1 DE 1

8
Producto SOLIDWORKS 7
Educational. Solo para uso en 6la enseñanza. 5 4 3 2 1
8 7 6 5 4 3 2 1

F F
R1
.00

4.00
5.24 35.53 5.24

E E

R1

0
3. 3
D .0 R 3. D
0 00
6.00

0
4.00 4.0 34.71
R
35.53

C C

B B

TÍTULO:

Pivot Arm B
A A
MATERIAL: N.º DE DIBUJO
A3
PLA
mm
ESCALA:2:1 HOJA 1 DE 1

8
Producto SOLIDWORKS 7
Educational. Solo para uso en 6la enseñanza. 5 4 3 2 1
8 7 6 5 4 3 2 1

F R1 F
.0 0 5.24 51.13

6.00
4.00
E E

0
5.0
R14.00

R1
4.00
R1
.0 3.20
0 1 .0

R6
0 0

R5.00
4.0

.0
0
19.43
R4
D .0 19.02 D
0
19.60

12.00

0 R11.50
R 3. 0
0
18.81

3 .3

1.00
1. 0
0
C 4.00 C

34.18
R1
.0 14.74
0 5.24 2.80
4.00

2.18 7.21
B 5.24 34.18 B

TÍTULO:

Servo Gear B
A A
MATERIAL: N.º DE DIBUJO
A3
PLA
mm
ESCALA:2:1 HOJA 1 DE 1

8
Producto SOLIDWORKS 7
Educational. Solo para uso en 6la enseñanza. 5 4 3 2 1
8 7 6 5 4 3 2 1

F F
63.00

5.00

R1
56.17

.0
3.

0
83
E 57.59 E

. 00

.1 7
3. 63

56
83

59
5.7

.
57
0
D D
57.59
63.00

33.75

C C
R1
.0

3.
0

10
5.00

B B

TÍTULO:

Tapa 2M1C
A A
MATERIAL: N.º DE DIBUJO
A3
PLA
mm
ESCALA:1:1 HOJA 1 DE 1

8
Producto SOLIDWORKS 7
Educational. Solo para uso en 6la enseñanza. 5 4 3 2 1
8 7 6 5 4 3 2 1

F F

.00
43

E R2.85 E

3.10

09
R18. R18.
79
D D

C C
45°
0.29

.00
R1
3.30
3.80

B B

TÍTULO:

TAPA 3M1C
A A
MATERIAL: UNIDADES

PLA mm
A3

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

0
3.1
E E
R2.85

38.50
R15.84

.54
D R16 D

C C
0.29

°
45 00
.
R1
1.60
2.10

B B

TÍTULO:

TAPA 4M1D
A A
PLA mm
MATERIAL: UNIDADES
A3

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
.00
R4
.00 R7
0
3.1
.00
R3 R4.50

5.7
D 0 D
5.00

2.00

3.00

18.00

C C

B B

TÍTULO:

TBC
A A
MATERIAL: UNIDADES

PLC mm
A3

PESO: ESCALA:2:1 HOJA 1 DE 1

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

R1
R2

9
.00
0.
00
F F
4.20
R20
.00

48.00
0
3.1
E E

13.43
5.9
0

.00
R19

D D

16.00 R9
.00

R1
6.72
15.69

0.
00
0
6.0 3.2
0

C 00 C
R16.

5.00
0

3.00
.0
R1

60.00 49.00
B B

TÍTULO:

TOP PLATE C
A A
MATERIAL: UNIDADES
A3
PLA mm
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

D D

C C

B B

TÍTULO:

Ensamblaje
A A
MATERIAL: UNIDADES

mm
A3
PLA

ESCALA:1:10 HOJA 1 DE 1

8 7 6 5 4 3 2 1

También podría gustarte