Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gómez Campos Darío Andrés 2018
Gómez Campos Darío Andrés 2018
DIRECTOR:
M.sc ING. JOHN ALEJANDRO FORERO CASALLAS
Dedico este trabajo a mi Padre y mi Madre, por el apoyo moral y las buenas enseñanzas que
me dieron para mi vida.
A mi hermana por su ayuda en cada momento que lo requerí
A mi esposa Dayana, quien ha sido mi guía en los momentos más difíciles que hemos
pasado juntos y el apoyo fundamental de mi familia.
A mi hija Valentina tu alegría y felicidad me dieron los motivos necesarios para seguir
esforzándome y llegar aún más lejos por ti, gracias por ser esa motivación e inspiración en
los momentos en que me daba por vencido, pero no lo hacía porque tú me demostraste que
es posible vencer cualquier obstáculo.
Darío Andrés Gómez C.
Dedico este logro a mis padres Cielo Quintero y Álvaro Bustos Pérez. Gracias infinitas por
el cariño y el apoyo incondicional, por cada enseñanza y fundamento moral con el que me
formaron para ser persona y profesional.
1
AGRADECIMIENTOS
A Dios quien nos dio la oportunidad de tener a nuestras familias unidas y cuyos
fundamentos morales fueron importantes para llevar a cabo nuestro desarrollo personal y
profesional.
Al Ingeniero John Alejandro Forero, quien ha sido la persona guía en este trabajo
orientándonos y ayudándonos con los recursos dentro de la universidad, él desde el año
2013 se planteó empezar investigaciones que contribuyeran a la mejora del manipulador
RV-M1, y al enriquecimiento del proceso educativo a través de la virtualización de diversas
máquinas.
Al Ingeniero Fernando Rodríguez, quien nos orientó y animó a seguir con el objetivo
propuesto.
Al personal del laboratorio de Mecánica quien dispuso los elementos para poder llevar a
cabo el desarrollo del presente proyecto.
Al profesor Óscar Benavides Vega por las indicaciones puntuales y consejos suministrados
para el desarrollo del proyecto.
2
CONTENIDO
RESUMEN 8
ABSTRACT 9
INTRODUCCIÓN 10
1 ESTRUCTURA DE ROBOTS 11
1.1 Tipos de movimiento 11
1.2 Manipulador 11
1.3 Grados de libertad 12
1.4 Robot Mitsubishi Movemaster RV-M1 13
1.5 Puesta a punto del equipo Mitsubishi Movemaster RV-M1 16
2 CONDICIONES GEOMÉTRICAS Y DE POSICIONAMIENTO 19
2.1 Cinemática directa 19
2.1.1 Posición y orientación 19
2.1.2 Matriz de Orientación 19
2.2 Matriz de transformación homogénea 20
2.2.1 Planteamiento básico de solución mediante la metodología de Denavit-
Hartenberg 21
2.3 Solución de la cinemática directa para el robot RV-M1 por matriz homogénea 23
2.3.1 Solución de la cinemática directa para el manipulador RV-M1 empleando el
software de programación MATLAB® 24
2.3.2 Solución de la cinemática directa utilizando el toolbox de Peter Corke para el
manipulador RV-M1 en MATLAB® 28
2.4 Aplicación de la cinemática inversa por medio de un software de cálculo y
programación, para el robot Mitsubishi Movemaster RV-M1 30
2.4.1 Cinemática inversa 30
2.4.2 Solución del problema cinemático inverso por el método geométrico 30
2.5 Solución de la cinemática inversa para el manipulador RV-M1 empleando el
software de programación MATLAB® 33
3 MODELAMIENTO DEL ROBOT MITSUBISHI MOVEMASTER RV-M1. 35
3.1 Simulación avanzada del manipulador Mitsubishi RV-M1 por las plataformas de
CAD y programación. 39
3.1.1 Configuración y programación de controladores para la máquina virtual 47
3.1.2 Entorno de la máquina virtual 49
3.2 Simulación de los servos que controlan los eslabones del manipulador por medio
del software CAD y de programación 51
3
4 EJECUCIÓN DE LA SIMULACIÓN EN EL MANIPULADOR RV-M1 60
4.1 Configuración y conexión del RV-M1 en el software MATLAB® 63
4.2 Incorporación del trabajo realizado 63
5 CONCLUSIONES 66
7. BIBLIOGRAFÍA 68
4
Tabla de ilustraciones
5
Ilustración 39 Restricciones de actuador de junta. ............................................................... 45
Ilustración 40 Configuración del tiempo de simulación ....................................................... 45
Ilustración 41 Interfaz gráfica con restricciones................................................................... 45
Ilustración 42. Diagrama de bloques. Fuente propia. ........................................................... 46
Ilustración 43 Ingreso al entorno GUIDE............................................................................. 47
Ilustración 44 Ventana del entorno GUIDE ......................................................................... 47
Ilustración 45 Lay-out para la creación del GUIDE ............................................................. 47
Ilustración 46 Ventana final GUIDE con variaciones de ángulos y posiciones ................... 49
Ilustración 47 Variación de los ángulos y obtención de las posiciones por Cinemática
directa ................................................................................................................................... 50
Ilustración 48 Variación de las posiciones y obtención de los ángulos por Cinemática
inversa ................................................................................................................................... 50
Ilustración 49 Señales de Simulink ...................................................................................... 51
Ilustración 50 Simulation Data Inspector Simulink ............................................................. 51
Ilustración 51 Desplazamientos por Cinemática Inversa I ................................................... 52
Ilustración 52 Desplazamiento ambiente gráfico por Cinemática Inversa I ......................... 53
Ilustración 53 Desplazamiento angular Vs. Tiempo por Cinemática Inversa ...................... 54
Ilustración 54 Desplazamiento Angular y grafico por Cinemática inversa II ...................... 55
Ilustración 55 Desplazamiento angular Vs. Tiempo por Cinemática Inversa II .................. 55
Ilustración 56 Desplazamiento angular Vs. Tiempo por Cinemática Inversa II .................. 56
Ilustración 57 Desplazamiento Angular y grafico por Cinemática inversa III ..................... 57
Ilustración 58 Desplazamiento angular Vs. Tiempo por Cinemática Inversa III ................. 57
Ilustración 59 Desplazamiento angular Vs. Tiempo por Cinemática Inversa III ................. 58
Ilustración 60 Configuración del puerto COM ..................................................................... 61
Ilustración 61 Configuración del programa Mitsubishi Robot Comm Sever ....................... 62
Ilustración 62 Datos recopilador de Hyperterminal ............................................................. 62
Ilustración 63 Interfaz gráfica y de envió de comandos ....................................................... 63
Ilustración 64 Comprobación de los comandos enviados al manipulador ........................... 64
Ilustración 65 Comprobación de los comandos enviados al manipulador II ........................ 65
6
Tabla de ecuaciones
Ecuación 1 Criterio de Grubler-Kutzbach ............................................................................ 12
Ecuación 2 Notación vectorial del vector orto-normal ......................................................... 19
Ecuación 3 Matriz de orientación ......................................................................................... 19
Ecuación 4 Matriz homogénea ............................................................................................. 20
Ecuación 5 Matriz de transformación homogénea ............................................................... 20
Ecuación 6 Solución del primer ángulo (Theta 1) por Cinemática Inversa.......................... 31
Ecuación 7 Solución del tercer ángulo (Theta 3) por Cinemática Inversa ........................... 32
Ecuación 8 Solución del segundo ángulo (Theta 2) por Cinemática Inversa ....................... 33
7
RESUMEN
8
ABSTRACT
The present work proposes the solution of the inverse and direct kinematics of a Melfa
Mitsubishi RV-M1 manipulator, through an operation interface. It begins with a
compilation of the investigation carried out of the robot in which its kinematic solutions
were included and the explanation of the manipulation by means of software, from this
guide data are taken. In this way the solution was made by means of a calculation and
programming program that allows the user to see through a graphic interface the initial and
final location of the manipulator.
It was necessary to have physical interaction with the machine, to make the measurements
and achieve greater precision in the modeling, the SOLIDWORKS® program was used,
where the respective parts and restrictions were created, it was determined that it was
adequate due to the process of export to MATLAB® r2017a the result was a block diagram
where you can add the angular restrictions of the manipulator, in its interface you added
different elements that allow manipulation and control by the end user, creating a friendly
graphical interface and easy to use. To complete this part we proceeded to incorporate the
solution process of the direct and inverse kinematics, where to make the angular variation
of any link the result of the Cartesian coordinates of the final tool was obtained. This can be
visualized as Px, Py and Pz , the graphical interface serves as support for the understanding
of the physical movements that can be achieved.
Finally, the results and solutions of the direct and inverse kinematics in the MATLAB®
program were verified, by means of the connection and later sending of orders through the
aforementioned software, in such a way that the manipulator in its intrinsic language can
interpret them, with base to the list of commands mentioned in the user manual. The first
step was a technical evaluation and subsequent maintenance to the robot of the mechanical
laboratory, being able to correct certain errors. It explains how the connection was made
and the protocol used in the link, where no other hardware was used as a translator of the
codes sent, the result was a parallel interface where you can visualize how the robot moves
in a virtual graphic interface and recreates these movements physically. The manipulator,
being old, has a relatively slow response time, even so, it is able to interpret and process the
orders sent.
9
INTRODUCCIÓN
10
1 ESTRUCTURA DE ROBOTS
Los robots manipuladores son, esencialmente, brazos articulados. De forma más precisa, un
manipulador industrial convencional es una cadena cinemática abierta formada por un
conjunto de eslabones o elementos de la cadena interrelacionados mediante articulaciones o
pares cinemáticos (Ollero & Anibal., 2001).
El controlador de un robot con un brazo de estructura angular debe realizar tareas más
complejas debido a que, como ya se ha mencionado antes, las trayectorias se especifican
normalmente en coordenadas cartesianas, por lo cual deben realizarse las transformaciones
adecuadas
1.1 Tipos de movimiento
- Traslación pura: Es el movimiento más simple que puede hacer un cuerpo rígido. En
un cuerpo que tiene un movimiento de traslación pura, si un segmento considerado
sobre el cuerpo se mueve en el espacio manteniéndose paralelo a sí mismo. Todos
los puntos en el dispositivo describen trayectorias paralelas (curvas o rectas). Una
línea de referencia trazada en el cuerpo cambia su posición lineal, pero no su
orientación o posición angular.
1.2 Manipulador
Los manipuladores consisten de vínculos casi rígidos, los cuales están conectados por
articulaciones que permiten el movimiento relativo de los vínculos adyacentes. Estas
articulaciones generalmente se instrumentan con sensores de posición, los cuales permiten
medir la posición relativa de los vínculos adyacentes. En el caso de las articulaciones
giratorias o angulares, estos desplazamientos se conocen como ángulos articulados.
Algunos manipuladores contienen articulaciones deslizantes (o prismáticas), en las que el
desplazamiento relativo entre los vínculos es una translación, algunas veces llamada
desplazamiento de articulación.
11
1.3 Grados de libertad
Donde:
n: Número de eslabones
j1 : Número de juntas de un grado de libertad
j2 : Número de juntas de dos grados de libertad
Para el caso del manipulador RV-M1
Ilustración 1 Manipulador Serial Mitsubishi Melfa RV-M1 movemaster.
12
1.4 Robot Mitsubishi Movemaster RV-M1
13
Tabla 1 Equipo estándar y opcional
14
Ilustración 3 Articulaciones del manipulador robot MITSUBISHI RV-M1.
Nota 1: supone que la mano no está instalada en el robot. (Trazo del punto p).
Nota 2: la operación de cabeceo de la muñeca se puede restringir en algo del área
dependiendo de las posiciones del brazo superior y antebrazo.
Nota 3: la operación manual (jog) debe realizarse con especial cuidado porque la
muñeca puede interferir con la base del robot y la superficie del piso.
Comentario
La operación jog indica una operación manual usando la caja de enseñanza
(Mitsubishi Industrial Micro-Robot System)
15
1.5 Puesta a punto del equipo Mitsubishi Movemaster RV-M1
Fuente propia.
Fuente propia.
16
Ilustración 6 Desarme del manipulador RV-M1
Fuente propia.
Fuente propia.
17
Ilustración 8 Lubricación de juntas
Fuente propia.
Fuente propia.
Sin embargo, no se pudieron realizar los siguientes arreglos debido a que no se contempló
en el alcance del proyecto
i. Cambio de escobillas de los servomotores por las horas de trabajo recomendado por
el fabricante.
iii. Puesta en marcha del gripper, se desconoce el por qué no se encuentra funcionando.
18
2 CONDICIONES GEOMÉTRICAS Y DE POSICIONAMIENTO
𝑃𝑥
𝑃
𝑃 = 𝑦]
[
(2)
𝑃𝑧
19
2.2 Matriz de transformación homogénea
Se utiliza para los robots constituidos por eslabones unidos con sus respectivas
articulaciones de tal forma que cada conjunto constituye un grado de libertad, para la
solución a cada eslabón se le puede asociar un sistema de referencia adyacente o solidario,
se tendrán para estos sistemas de rotaciones y traslaciones relativas.
La utilización de la matriz de transformación homogénea representa la posición y
orientación relativa de un eslabón respecto a otro como una matriz denominada 𝐴𝑖−1
𝑖 donde
0
𝑖 es denominado como el eslabón a resolver, 𝐴1 describe la posición y orientación del
primer eslabón respecto a su coordenada base.
La matriz de transformación homogénea es una forma compacta de expresar la rotación,
𝑅𝑖0 ubicada dentro de la matriz homogénea en la parte superior izquierda como una sub-
matriz de 3x3, el vector posición 𝑃𝑖0 será la cuarta columna 3x1, la perspectiva se ubica
como la cuarta y última fila de la matriz por último se tendrá el valor escalado como la
constante uno.
𝑐𝑜𝑠 𝜃 𝑖 −𝑐𝑜𝑠 ∝ 𝑖∗ 𝑠𝑖𝑛𝜃 𝑖 𝑠𝑖𝑛 ∝ 𝑖∗ 𝑠𝑖𝑛 𝜃 𝑖 𝑎 𝑖𝑐𝑜𝑠 𝜃 𝑖
𝑠𝑖𝑛 𝜃 𝑖 𝑐𝑜𝑠 ∝ 𝑖∗ 𝑐𝑜𝑠 𝜃 𝑖 −𝑠𝑖𝑛 ∝ 𝑖∗ 𝑐𝑜𝑠 𝜃 𝑖 𝑎 𝑖 𝑠𝑖𝑛𝜃 𝑖
𝐴𝑖𝑖−1 = [
0 𝑠𝑖𝑛 ∝ 𝑖 𝑐𝑜𝑠 ∝ 𝑖 𝑑𝑖 ]
0 0 0 1
𝑖 (5)
0
𝑇𝑖0 = 𝐴10 𝐴12 … 𝐴𝑖−1 = ∏ 𝐴𝑗𝑗−1 = [𝑅𝑖 𝑃𝑖0 ]
𝑖
0 1
𝑗=1
𝑛𝑥 𝑂𝑥 𝑎𝑥 𝑃𝑥
𝑛 𝑂𝑦 𝑎𝑦 𝑃𝑦 𝒏 𝒐 𝒂 𝒑
𝑇𝑖0 = [ 𝑦 ]=[ ]
𝑛𝑧 𝑂𝑍 𝑎𝑧 𝑃𝑧 0 0 0 1
0 0 0 1
20
2.2.1 Planteamiento básico de solución mediante la metodología de Denavit-
Hartenberg
21
6. Para 𝑖 de 1 a 𝑛 − 1, situar el sistema [𝑆𝑖 ] (solidario al eslabón 𝑖) en la intersección
del eje 𝑧, con la línea normal común a 𝑧𝑖−1 𝑦 𝑧𝑖 . Si ambos ejes se cortasen se
situaría {𝑆𝑖 } en el punto de corte. Si fuesen paralelos {𝑆𝑖 } se situaría en la
articulación 𝑖 + 1.
7. Situar 𝑥𝑖 en la línea normal común a 𝑧𝑖−1 𝑦 𝑧𝑖 .
8. Situar 𝑦𝑖 de modo que forme un sistema dextrógiro con 𝑥𝑖 y 𝑧𝑖 .
9. Situar el sistema {𝑆𝑛 }en el extremo del robot de modo que 𝑧𝑛 coincida con la
dirección de 𝑧𝑛−1 𝑦 𝑥𝑛 sea normal a 𝑧𝑛−1 𝑦 𝑧𝑛 .
10. Obtener 𝜃, como el ángulo que hay que girar en torno a 𝑧𝑖−1 para que 𝑥𝑖−1 y 𝑥𝑖
queden paralelos.
11. Obtener 𝑑𝑖 como la distancia, medida a lo largo de 𝑧𝑖−1 , que habría que desplazar
{𝑆𝑖−1 }para que 𝑥𝑖 𝑦 𝑥𝑖−1 quedasen alineados.
12. Obtener 𝑎𝑖 como la distancia media a lo lago 𝑥𝑖 (que ahora coincidiría con 𝑥𝑖−1 ) que
habrá de desplazar el nuevo {𝑆𝑖−1 } para que su origen coincidiese con {𝑆𝑖 }.
13. Obtener 𝑎𝑖 como el ángulo que habría que girar en torno a 𝑥𝑖 (que ahora coincidiría
con 𝑥𝑖−1 ) coincidiese totalmente con {𝑆𝑖 }.
14. Obtener con las matrices de transformación 𝑖 − 1𝐴𝑖 .
15. Obtener las matrices de transformación que relaciona el sistema de la base con el
del extremo del robot 𝑇 = 𝐴10 , 𝐴12, 𝐴23……. 𝐴𝑛−1
𝑛 .
16. La matriz 𝑇 define la orientación (submatriz de rotación) y posición (submatriz de
translación) del extremo referido a la base en función de las 𝑛 coordenadas
articulares.
Para los parámetros de la representación Denavit-Hatenberg representados en la tabla1, se
utilizarán las siguientes simbologías:
𝑎𝑖 : Distancia del elemento (mm)
𝛼𝑖 : Ángulo del elemento en grados
𝑑𝑖 : Distancia de la articulación
𝜃𝑖 : Ángulo de la articulación
Tabla 2 Parámetros Denavit-Hatenberg RV-M1
𝒂𝒊 𝜶𝒊 𝒅𝒊 𝜽𝒊
0 90 300 𝜃1
250 0 0 𝜃2
160 0 0 𝜃3
0 90 0 𝜃4 +90
0 0 147 𝜃5
Fuente propia.
22
2.3 Solución de la cinemática directa para el robot RV-M1 por matriz homogénea
Teniendo como base para la solución de la cinemática directa por el método de matrices de
transformación Homogénea y los valores de la tabla 1, a continuación, se plantean las cinco
matrices de solución.
𝑐𝑜𝑠 𝜃1 −𝑐o𝑠 90 ∗ 𝑠𝑖𝑛 𝜃1 𝑠𝑖𝑛 90 ∗ 𝑠𝑖𝑛 𝜃1 0 𝑐𝑜𝑠 𝜃1
𝑠𝑖𝑛 𝜃1 𝑐𝑜𝑠 90 ∗ 𝑐𝑜𝑠 𝜃1 −𝑠𝑖𝑛 90 ∗ 𝑐𝑜𝑠 𝜃1 0 𝑠𝑖𝑛 𝜃1
𝐴10 = [ ]
0 𝑠𝑖𝑛 90 𝑐𝑜𝑠 90 300
0 0 0 1
𝑐𝑜𝑠 𝜃1 0 𝑠𝑖𝑛 𝜃1 0
𝑠𝑖𝑛 𝜃1 0 − 𝑐𝑜𝑠 𝜃1 0
= [ ]
0 1 0 300
0 0 0 1
𝑐𝑜𝑠 𝜃2 −𝑐𝑜𝑠 0 ∗ 𝑠𝑖𝑛 𝜃2 𝑠𝑖𝑛 0 ∗ 𝑠𝑖𝑛 𝜃2 250 ∗ 𝑐𝑜𝑠 𝜃2
𝑠𝑖𝑛 𝜃2 𝑐𝑜𝑠 0 ∗ 𝑐𝑜𝑠 𝜃2 −𝑠𝑖𝑛 0 ∗ 𝑐𝑜𝑠 𝜃2 250 ∗ 𝑠𝑖𝑛 𝜃2 ]
𝐴12 = [
0 𝑠𝑖𝑛 0 𝑐𝑜𝑠 0 0
0 0 0 1
𝑐𝑜𝑠 𝜃2 − 𝑠𝑖𝑛 𝜃2 0 250 𝑐𝑜𝑠 𝜃2
𝑠𝑖𝑛 𝜃2 𝑐𝑜𝑠 𝜃2 0 250 𝑠𝑖𝑛 𝜃2 ]
= [
0 0 1 0
0 0 0 1
𝑐𝑜𝑠 𝜃3 −𝑐𝑜𝑠 0 ∗ 𝑠𝑖𝑛 𝜃3 𝑠𝑖𝑛 0 ∗ 𝑠𝑖𝑛 𝜃3 160 ∗ 𝑐𝑜𝑠 𝜃3
𝑠𝑖𝑛 𝜃3 𝑐𝑜𝑠 0 ∗ 𝑐𝑜𝑠 𝜃3 −𝑠𝑖𝑛 0 ∗ 𝑐𝑜𝑠 θ3 160 ∗ 𝑠𝑖𝑛 𝜃3
𝐴23 = [ ]
0 𝑠𝑖𝑛 0 𝑐𝑜𝑠 0 0
0 0 0 1
𝑐𝑜𝑠 𝜃3 − 𝑠𝑖𝑛 𝜃3 0 160 𝑐𝑜𝑠 𝜃3
𝑠𝑖𝑛 𝜃3 𝑐𝑜𝑠 𝜃3 0 160 𝑠𝑖𝑛 𝜃3
= [ ]
0 0 1 0
0 0 0 1
𝑐𝑜𝑠 𝜃4 −𝑐𝑜𝑠 90 ∗ 𝑠𝑖𝑛 𝜃4 + 90 𝑠𝑖𝑛 90 ∗ 𝑠𝑖𝑛 𝜃4 + 90 0 ∗ 𝑐𝑜𝑠 𝜃4 + 90
𝑠𝑖𝑛 𝜃𝑖 𝑐𝑜𝑠 90 ∗ 𝑐𝑜𝑠 𝜃4 + 90 −𝑠𝑖𝑛 90 ∗ 𝑐𝑜𝑠 𝜃4 + 90 0 ∗ 𝑠𝑖𝑛 𝜃4 + 90
𝐴34 = [ ]
0 𝑠𝑖𝑛 90 𝑐𝑜𝑠 90 0
0 0 0 1
𝑐𝑜𝑠 𝜃4 + 90 0 𝑠𝑖𝑛 𝜃4 + 90 0
𝑠𝑖𝑛 𝜃4 + 90 0 − 𝑐𝑜𝑠 𝜃4 + 90 0
= [ ]
0 1 0 0
0 0 0 1
Debido a que el manipulador de la Universidad Distrital sede tecnologica posee un gripper
final se realizaran los calculos con el valor de esta extensión
23
𝑐𝑜𝑠 𝜃5 −𝑐𝑜𝑠 0 ∗ 𝑠𝑖𝑛 𝜃5 𝑠𝑖𝑛 0 ∗ 𝑠𝑖𝑛 𝜃𝑖 0 ∗ 𝑐𝑜𝑠 𝜃5
𝑠𝑖𝑛 𝜃5 𝑐𝑜𝑠 0 ∗ 𝑐𝑜𝑠 𝜃5 −𝑠𝑖𝑛 0 ∗ 𝑐𝑜𝑠 𝜃5 0 ∗ 𝑠𝑖𝑛 𝜃5
𝐴45 = [ ]
0 𝑠𝑖𝑛 0 𝑐𝑜𝑠 0 0
0 0 0 1
𝑐𝑜𝑠 𝜃5 − 𝑠𝑖𝑛 𝜃5 0 0
𝑠𝑖𝑛 𝜃5 𝑐𝑜𝑠 𝜃5 0 0
= [ ]
0 0 1 147
0 0 0 1
Como ayuda para la solución de problema cinemático se utilizó para este trabajo el
software MATLAB® donde se digito cada matriz homogénea 𝐴𝑛 y se definieron los
valores de las articulaciones para que el programa los pudiera resolver al variar los ángulos
t1, t2, t3, t4 y t5, por último, se multiplico cada matriz por obtener la matriz de
transformación 𝑇, se digita cada valor y ecuación sin la utilización de ningún toolbox. La
siguiente es la solución desarrollada:
%Matrices a partir de los parámetros DH para el RV-M1
%En este caso los ángulos Theta van hacer representado con una t
clc
clear
syms t1 t2 t3 t4 t5 real;
syms a3 a2 d1 d5 real;
d1=300;
d5=147;
a2=250;
a3=160;
t1=0;
t2=0;
t3=0;
t4=0;
t5=0;
A1=[cosd(t1) 0 sind(t1) 0; sind(t1) 0 -cosd(t1) 0; 0 1 0 d1; 0 0 0 1];
A2=[cosd(t2) -sind(t2) 0 a2*cosd(t2); sind(t2) cosd(t2) 0 a2*sind(t2); 0
0 1 0; 0 0 0 1];
A3=[cosd(t3) -sind(t3) 0 a3*cosd(t3); sind(t3) cosd(t3) 0 a3*sind(t3); 0
0 1 0; 0 0 0 1];
A4=[cosd(t4+(90)) 0 sind(t4+(90)) 0; sind(t4+(90)) 0 -cosd(t4+(90)) 0; 0
1 0 0; 0 0 0 1];
A5=[cosd(t5) -sind(t5) 0 0; sind(t5) cosd(t5) 0 0; 0 0 1 d5; 0 0 0 1];
T=A1*A2*A3*A4*A5;
24
ans =sin(t1)*sin(t5) - cos(t5)*(cos(pi/2 + t4)*(cos(t1)*sin(t2)*sin(t3) -
cos(t1)*cos(t2)*cos(t3)) + sin(pi/2 + t4)*(cos(t1)*cos(t2)*sin(t3) +
cos(t1)*cos(t3)*sin(t2)))
𝑛𝑦 =T(2,1)
Para O:
𝑜𝑥 =T(1,2)
ans =cos(t5)*sin(t1) + sin(t5)*(cos(pi/2 + t4)*(cos(t1)*sin(t2)*sin(t3) -
cos(t1)*cos(t2)*cos(t3)) + sin(pi/2 + t4)*(cos(t1)*cos(t2)*sin(t3) +
cos(t1)*cos(t3)*sin(t2)))
𝑜𝑦 =T(2,2)
Para a:
𝑎𝑥 =T(1,3)
ans =cos(pi/2 + t4)*(cos(t1)*cos(t2)*sin(t3) + cos(t1)*cos(t3)*sin(t2)) - sin(pi/2 +
t4)*(cos(t1)*sin(t2)*sin(t3) - cos(t1)*cos(t2)*cos(t3))
𝑎𝑦 = T(2,3)
25
𝑎𝑧 =T(3,3)
ans =sin(pi/2 + t4)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) - cos(pi/2 + t4)*(cos(t2)*cos(t3) -
sin(t2)*sin(t3))
Vector columna posición
𝑃𝑥 =T(1,4)
ans =d5*(cos(pi/2 + t4)*(cos(t1)*cos(t2)*sin(t3) + cos(t1)*cos(t3)*sin(t2)) - sin(pi/2 +
t4)*(cos(t1)*sin(t2)*sin(t3) - cos(t1)*cos(t2)*cos(t3))) + a2*cos(t1)*cos(t2) +
a3*cos(t1)*cos(t2)*cos(t3) - a3*cos(t1)*sin(t2)*sin(t3)
𝑃𝑦 =T(2,4)
26
t4=0;
t5=0;
>> T
T=0 0 1 557
0 -1 0 0
1 0 0 300
0 0 0 1
Los siguientes valores están dados en milímetros
𝑃𝑥 =T(1,4)
ans =557
𝑃𝑦 =T(2,4)
ans = 0
𝑃𝑧 =T(3,4)
ans =300
Según las dimensiones externas de la ilustración 11 tomada del manual Mitsubishi RV-M1,
los valores de las coordenadas hallados para la cinemática directa corresponden a la
estructura real.
Ilustración 11 Dimensiones generales del RV-M1
27
2.3.2 Solución de la cinemática directa utilizando el toolbox de Peter Corke para el
manipulador RV-M1 en MATLAB®
Rob =
noname:: 5 axis, RRRRR, stdDH, slowRNE
1 q1 300 0 1,5708 0
2 q2 0 250 0 0
3 q3 0 160 0 0
4 q4 0 0 1,5708 0
5 q5 147 0 0 0
28
ans =
0 0 1 557
0 -1 0 0
1 0 0 300
0 0 0 1
El toolbox integra una interfaz gráfica en otra ventana que representa al robot por medio de
alambres como se muestra en la ilustración 14.
Ilustración 13 Modelamiento del manipulador mediante los parámetros D-H a través de la herramienta de Matlab-Robotic
Toolbox(Peter Corke)
Fuente propia.
Para realizar las simulaciones de movimientos en esta interfaz se tendría que empezar a
variar los ángulos θ previamente definidos, haciendo de esto una operación de retroceso. Se
podría programar en una interfaz gráfica donde la variación sea controlada por medio de
sliders, pero las propiedades físicas no se podrían alterar y un análisis mayor no se podría
realizar por ser esta una representación simple.
El toolbox ofrece otras ventajas además de la previamente mencionada, como es resolver la
matriz jacobiana del Robot este dentro de los diferentes ejemplos incorporados por años de
estudio, es una herramienta de ayuda, pero no mostrará el desarrollo intrínseco de estos
programas.
29
2.4 Aplicación de la cinemática inversa por medio de un software de cálculo y
programación, para el robot Mitsubishi Movemaster RV-M1
Solución de 𝜃1 (waist), 𝐽1
−150° ≤ 𝜃1 ≤ 150°
𝑃𝑦 𝑃𝑥
=
𝑠𝑖𝑛 𝜃1 𝑐𝑜𝑠 𝜃1
𝑃𝑦
𝜃 1 = 𝑡𝑎𝑛−1 ( )
𝑃𝑥
𝑃𝑦 (6)
𝜃1 = 𝑡𝑎𝑛−1 ( )
𝑃𝑥
Fuente propia
31
Solución de 𝜃3 (Elbow), 𝐽3
−110° ≤ 𝜃1 ≤ 0°
𝑟 2 = 𝑃𝑦 2 + 𝑃𝑥 2
𝑐 2 = 𝑃𝑧 2 + 𝑟 2
𝑐 2 = 𝑎3 2 + 𝑎2 2 − 2𝑎2 𝑎3 𝑐𝑜𝑠 𝜃3
𝑃𝑧 2 + 𝑃𝑦 2 + 𝑃𝑥 2 −𝑎3 2 − 𝑎2 2
𝑐𝑜𝑠 𝜃3 =
2𝑎2 𝑎3
𝑃𝑧 2 + 𝑃𝑦2 + 𝑃𝑥 2 −𝑎 32 − 𝑎 2 2
𝜃 3 = 𝑐𝑜𝑠 −1 ( )
2𝑎 2 𝑎 3
𝑃𝑧 2 + 𝑃𝑦 2 + 𝑃𝑥 2 −𝑎3 2 − 𝑎2 2 (7)
𝜃3 = 𝑐𝑜𝑠 −1 ( )
2𝑎2 𝑎3
Fuente propia
32
Solución de 𝜃2 (Shoulder), 𝐽2
−30° ≤ 𝜃2 ≤ 100°
𝜃2 = 𝛽 − 𝛼
𝑃𝑧 𝑃𝑧
𝛽 = 𝑡𝑎𝑛−1 ( 2 ) = 𝑡𝑎𝑛−1
𝑟
√𝑃𝑦 2 + 𝑃𝑥 2
( )
𝑎3 𝑠𝑖𝑛 𝜃3
𝛼 = 𝑡𝑎𝑛−1 ( )
𝑎2 +𝑎3 𝑐𝑜𝑠 𝜃3
𝑃𝑧 𝑎 3 𝑠𝑖𝑛 𝜃 3
𝜃 2 = 𝑡𝑎𝑛−1 ( −1
)− 𝑡𝑎𝑛 ( )
√𝑃𝑦2 + 𝑃𝑥 2 𝑎 2 +𝑎 3 𝑐𝑜𝑠 𝜃 3
𝑃𝑧 𝑎3 𝑠𝑖𝑛 𝜃3
𝜃2 = 𝑡𝑎𝑛−1 − 𝑡𝑎𝑛−1 ( ) (8)
2 2 𝑎2 +𝑎3 𝑐𝑜𝑠 𝜃3
√𝑃𝑦 + 𝑃𝑥
( )
Con este método se están controlando las tres articulaciones, pero despreciando la distancia
𝑑1 que corresponde a la base del manipulador, donde se encuentra el punto 0 del análisis,
para no tener errores se hará un arreglo matemático
𝑃𝑧2 = 𝑃𝑧 − 300
En las ecuaciones de cinemática inversa se reemplazara 𝑃𝑧 por 𝑃𝑧2 con esto podremos
contrarrestar con los resultados de la cinemática directa, obtenidos por la multiplicación de
la tres primeras matrices de transformación homogénea
2.5 Solución de la cinemática inversa para el manipulador RV-M1 empleando el
software de programación MATLAB®
Como ayuda para la solución de problema cinemático se utilizará para este trabajo el
software MATLAB®, lo valores de los eslabones y la altura de la base se ponen
análogamente y las posiciones Px, Py y Pz se plantean como los valores en posición
horizontal del manipulador para obtener los valores angulares de 𝑡1, 𝑡2 𝑦 𝑡3 en este caso el
resultado será el valor 0° no fue necesario el uso de ningún toolbox, la siguiente es la
solución:
clc
clear
syms t1 t2 t3 t4 t5 real;
syms a2 a3 d1 d5 Px Py Pz Pz2 real;
d1=300;
d5=72;
a2=250;
33
a3=160;
Px=557;
Py=0;
Pz=300;
Pz2=Pz-d1;
t1_inv=atand(Py/Px);
t3_inv=-acosd((Pz2^2+Px^2+Py^2-((a2^2)+(a3^2)))/(2*a2*a3));
t2_inv=(atand(Pz2/sqrt(Px^2+Py^2)))-
(atand((a3*sind(t3_inv))/(a2+(a3*cosd(t3_inv)))));
34
3 MODELAMIENTO DEL ROBOT MITSUBISHI MOVEMASTER RV-M1.
- Base/Waist:
Fuente propia.
35
- Body and Shoulder cover
Fuente propia.
- Upper Arm
Fuente propia.
36
- Fore arm
Fuente propia
- Wrist pitch
Fuente propia.
37
- Wrist roll
Fuente propia.
- Proceso de ensamble.
A través del módulo “Ensamblaje” del programa SOLIDWORKS® se puede efectuar el
ensamble del manipulador robotico, teniendo en cuenta que se deben utilizar relaciones de
posición simples entre los componentes de tal forma que puedan ser interpretadas por el
software donde se creará el entorno de máquina virtual.
En este caso se emplearon relaciondes de “Concentricidad” y “Coincidencia”.
38
Ilustración 22 Robot Mitsubishi Melfa RVM1, dibujo realizado en SOLIDWORKS®.
Fuente propia.
El modelado permite tener una interacción gráfica-virtual del equipo para su posterior
análisis mediante la conexión con el software de cálculo.
3.1 Simulación avanzada del manipulador Mitsubishi RV-M1 por las plataformas
de CAD y programación.
Fuente propia.
39
Ilustración 24 Parámetros del bloque entorno.
Fuente propia.
Fuente propia.
Fuente propia.
40
Ilustración 27 Bloque soldadura
Fuente propia.
- Bloque de cuerpo: Representa un cuerpo rígido definido por el usuario, con
propiedades definidas por masa 𝑚, tensor de inercia 𝐼, orígenes coordinados, ejes
para el centro de gravedad (𝐶𝐺) y otros sistemas de coordenadas del cuerpo
especificados por el usuario.
Fuente propia.
Fuente propia.
41
Ilustración 30 Primer entorno gráfico RV-M1
Fuente propia.
Fuente propia.
42
Una vez configurado el sensor se puede apreciar una nueva conexión en el bloque:
Ilustración 32 Bloque restricción geométrica
Fuente propia.
Ahora se procederá crear la conexión con los bloques que permitirán tener el control del
movimiento de la junta revoluta.
Ilustración 33 Conexión de bloques para el movimiento de la junta
Fuente propia.
Fuente propia.
Bloque control deslizante: Permite establecer un control de ganancia escalar en los rangos
definidos por el usuario.
Ilustración 35 Bloque control deslizante
Fuente propia.
43
Ilustración 36 Restricciones del deslizador
Fuente propia.
En la consola del despliegue del bloque se pueden introducir los límites de movimiento.
Bloque multiplicador: Procesa señales escalares o vectoriales múltiples. Como el proceso
de movimiento se efectúa en el plano tridimensional el bloque deberá ser configurado para
la entrada de tres señales con una salida.
Ilustración 37 Bloque multiplicador
Fuente propia.
Bloque actuador de junta: Actúa una primitiva conjunta con señales de fuerza / par o
velocidad lineal / angular generalizadas, velocidad y aceleración. La secuencia del seguidor
base y el eje de la articulación determinan el signo del movimiento hacia adelante. Las
entradas son señales Simulink. Las señales de entrada de movimiento deben agruparse en
una señal.
Ilustración 38 Bloque actuador de junta
Fuente propia.
Por defecto el bloque de junta viene configurado para actuar por un par-torque se debe
configurar entonces para que se pueda tener control del movimiento mediante la opción
“Actuate with Motion” como se puede apreciar en la ilustración 39:
44
Ilustración 39 Restricciones de actuador de junta.
Fuente propia.
Fuente propia.
Fuente propia.
Ahora se podrán controlar los movimientos del Robot mediante mandos deslizables que
operarán dentro de los rangos de las juntas del manipulador.
45
Ilustración 42. Diagrama de bloques. Fuente propia.
46
3.1.1 Configuración y programación de controladores para la máquina virtual
Fuente propia.
Fuente propia.
47
Fuente propia.
48
3.1.2 Entorno de la máquina virtual
El entorno de la máquina virtual permite generar una interacción con el brazo robótico, una
vez se han desarrollado sus soluciones cinemáticas. En la ilustración 46 se presenta el
Guide desarrollado:
Ilustración 46 Ventana final GUIDE con variaciones de ángulos y posiciones
49
Ilustración 47 Variación de los ángulos y obtención de las posiciones por Cinemática directa
Fuente propia.
Ilustración 48 Variación de las posiciones y obtención de los ángulos por Cinemática inversa
Fuente propia.
50
3.2 Simulación de los servos que controlan los eslabones del manipulador por medio
del software CAD y de programación
Una vez desarrollado el entorno virtual se realizará mediante gráficas el análisis de los
recorridos que ejecutarán los servo motores al recibir y procesar las señales, el proceso se
lleva a cabo a través del diagrama de bloques de simulink realizando una selección general
y pulsando la opción “Log Select Signals” mostrada en la ilustración 49.
Fuente propia.
Fuente propia.
Se desplegará una ventana donde se podrá seleccionar del diagrama de bloques realizado
sobre el cual se va a realizar el análisis, en este caso serán los ‘sliders’, pues son los
controladores del movimiento de los eslabones. Se tendrá una gráfica de desplazamiento
angular vs. Tiempo.
51
Los ángulos en el diagrama de bloques son representados en la tabla 4 de la siguiente
forma:
Tabla 4 Equivalencias angulares en slider
Angulo Slider
𝜃1 Gain
𝜃2 Gain1
𝜃3 Gain2
𝜃4 Gain3
𝜃5 Gain4
Fuente propia.
Para realizar esta simulación se utilizo la cinematica inversa, pues al buscar una posición
cartesiana se involucra más de un angulo como lo representan las ecuaciones 6, 7 y 8 de
este documento, ideal para la representación gráfica. Las ilustraciones 51, 54 y 57 presentan
la interfaz donde el usuario podrá manipular las posiciones cartesianas con los tres ultimos
deslizadores del costado derecho e ira obteniendo un valor angular mostrado en las
primeras cinco posiciones de texto donde se muestra los resultados por medio de la
solución intrinseca de las ecuaciones para la cinematica inversa.
Ilustración 51 Desplazamientos por Cinemática Inversa I
Fuente propia.
52
Ilustración 52 Desplazamiento ambiente gráfico por Cinemática Inversa I
Fuente propia.
53
Ilustración 53 Desplazamiento angular Vs. Tiempo por Cinemática Inversa
Fuente propia.
54
Ilustración 54 Desplazamiento Angular y grafico por Cinemática inversa II
Fuente propia.
55
Ilustración 56 Desplazamiento angular Vs. Tiempo por Cinemática Inversa II
Fuente propia.
56
Ilustración 57 Desplazamiento Angular y grafico por Cinemática inversa III
Fuente propia.
57
Ilustración 59 Desplazamiento angular Vs. Tiempo por Cinemática Inversa III
58
Este movimiento se ejecutó utilizando la cinemática inversa, pues esta relaciona en el
cálculo de sus posiciones los primeros tres ángulos del manipulador, es decir que, si el
movimiento deseado resulta en una coordenada posición (𝑥, 𝑦, 𝑧), el Robot moverá todos
los ángulos de los eslabones que le permitan llegar a esa coordenada.
59
4 EJECUCIÓN DE LA SIMULACIÓN EN EL MANIPULADOR RV-M1
Cumpliendo con los objetivos previamente acordados para este trabajo se realizó una
verificación de funcionalidad de la interfaz virtual desarrollada para el manipulador RV-M1
estableciendo una conexión serial con el mismo.
Se ejecutó entonces una interfaz de comunicación donde se transcriben las ordenes
enviadas al manipulador por medio del software MATLAB® en un lenguaje que el RV-M1
interprete sin utilizar algún hardware intermedio (Arduinos, Rapsberry, entre otros).
Se pudo comprobar que el resultado obtenido en MATLAB® fuese enviado, recibido e
interpretado por el RV-M1 en tiempo real concordando con la interfaz gráfica realizada.
La primera conexión se realizó gracias a las indicaciones dadas por el Ing. Fernando
Rodríguez profesor de la Universidad, quien muy cordialmente brindo asesorías puntuales y
bastante útiles para el proceso de manipulación del robot. Para el cumplimiento de la
robótica serial se inició con las pruebas del programa original del RV-M1, se cuenta con el
cable paralelo/serial rs232c que se nombra en el manual y un equipo de cómputo que
cuenta con este tipo de puerto.
Los siguientes son los pasos para establecer la comunicación del Robot con el equipo de
cómputo:
1. Conexión a la unidad del manipulador y al puerto serial del computador
60
Ilustración 60 Configuración del puerto COM
Fuente propia.
61
Ilustración 61 Configuración del programa Mitsubishi Robot Comm Sever
Fuente propia.
Fuente propia.
62
4.1 Configuración y conexión del RV-M1 en el software MATLAB®
Con estos comandos fue posible la lectura y posterior envió de ordenes al puerto.
4.2 Incorporación del trabajo realizado
Fuente propia.
63
Nest, posición en que todos los elabores se encuentran con su final de carrera
Se realizaron dos envíos de comandos distintos con MJ y MP, el primero reconoce los
ángulos que deben tomar los eslabones el segundo las posiciones cartesianas X, Y, Z, y los
ángulos picth y roll, con este se tuvo una dificultad mayor, pues su configuración varía
según la herramienta que se encuentre incorporada en el manipulador, pero gracias a la
conversión a valores angulares se puede enviar con el código MJ.
Con la manipulación serial se realizaron algunos ajustes como fue colocar primero la
coordenada cartesiana ‘𝑥’ posteriormente ‘𝑦 ’ y por ultimo ‘𝑧’ para que el manipulador
tuviera coincidencia con la interfaz gráfica.
Ilustración 64 Comprobación de los comandos enviados al manipulador
Fuente propia.
64
Ilustración 65 Comprobación de los comandos enviados al manipulador II
Fuente propia.
65
5 CONCLUSIONES
66
La simulación y análisis de los servomotores se realizó mediante el entorno virtual
desarrollado en Matlab® obteniendo una serie de gráficas donde se evidencia el
desplazamiento angular representado por los eslabones del robot vs el tiempo que
emplea cada uno de ellos en alcanzar su posición final. El método óptimo de
análisis se ejecuta mediante la cinemática inversa debido que al orientar a una
coordenada cartesiana el manipulador puede requerir el uso de más de un ángulo,
sin embargo el robot en la realidad puede verse afectado por el primer momento de
inercia y el desgaste debido a los años de uso que se le ha dado, también puede
diferir el tiempo de respuesta, como se ve en las gráficas hay desplazamientos
súbitos, porque el RV-M1 no puede alcanzar todas las coordenadas que ha este se le
sean ordenadas. Este resultado es importante al momento de realizar una trayectoria
y requerir un tiempo de desplazamiento acorde a la labor a ejecutar.
67
7. BIBLIOGRAFÍA
Andres, J., Gracia, L., & Tornero, J. (2011). Robotics and Computer-Integrated Manufacturing.
El sevier Ltd, SciVerse ScienceDirect, 265-274.
Aracil, R., Saltarén, R., Sabater, J. M., & Reinoso, O. (2006). ROBOTS PARALELOS: MÁQUINAS
CON UN PASADO PARA UNA ROBÓTICA DEL FUTURO. Revista Iberoamericana de
Automática e Informática Industrial., 3(1), 28.
Barraza, A., Rúa, J., Sosa, J., Yime, E., & Roldan, J. (2015). Modelado dinámico del manipulador
serial Mitsubishi Movemaster RV-M1 usando SolidWorks. Revista de la facultad de
Ingenierias Físicas Mecánicas, 49-62.
Barrientos, A., Peñín, L. F., Balaguer, C., & Aracil, R. (2007). Fundamentos de robótica. MC
GRAW HILL.
Benbelkacem, Y., & Mohd-Mokhtar, R. (26-29 de Noviembre de 2012). Explicit kinematic
model of the Mitsubishi RV-M1 robot arm. IEEE, 404-409. Obtenido de
http://ieeexplore.ieee.org/document/6466627/
Cardona, S., & Clos Costa, D. (2011). Teoría de Máquinas. Cataluña: Edición S UPC.
Forero, J., Hurtado, L., & Ruiz, V. (Febrero de 2015). Visión eléctronica, Más que un estado
sólido. Arquitectura paralela robótica: modelado y simulaci´on con siemens NX.
Recuperado el 10 de Agosto de 2015, de
http://revistas.udistrital.edu.co/ojs/index.php/visele/article/view/11018
Marcu, C., Lazea, G., Herle, S., Robotin, R., & Tamas, L. (2010 de Junio de 25). IEEE explore
Digital Library, 3D graphical simulation of an articulated serial manipulator based on
kinematic models. Recuperado el 10 de Agosto de 2017, de
http://ieeexplore.ieee.org/abstract/document/5524593/
Marulanda Cano, J. E. (2015). PUESTA EN MARCHA VIRTUAL APLICADA AL ROBOT DELTA DE
LA UNIVERSIDAD SANTO TOMÁS. Bogotá.
Mckinley R, J., Rodríguez S, J., Yime R, E., & James., G. D. (2012). Cinématica inversa matricial
del manipulador 5R Mitsubishi Movemaster RV-M1. Revista ÉPSILON, 19, 56.
Ollero, B., & Anibal. (2001). Robótica, Manipuladores y robots móviles. España: Marcombo.
68
Parejo, C., & José. (Marzo de 2008). La representación de Denavit-Hartemberg. Recuperado el
24 de Septiembre de 2017, de
https://personal.us.es/jcortes/Material/Material_archivos/Articulos%20PDF/Repres
entDH.pdf
Porcuna López, P. (2016). Robótica Y Domótica básica con arduino. RA-MA EDITORIAL.
Ramírez, R. D. (2010). Diseño de una plataforma róbotica paralela de 6 DOF para asistente
quirúrgico en cirugías de reconstrucción cráneo-facial. Universidad Nacional de
Colombia, Sede Bogotá., Bogotá. Obtenido de
http://www.bdigital.unal.edu.co/3185/1/danielandresramirezrodriguez.2010.pdf
Villate, G., & Francisco. (2015). Diseño y construcción de prototipo para mecanizado multiejes
en materiales blandos utilizando arquitectura paralea Stewart-Gough. Universidad
Nacional de Colombia, Sede Bogotá, Bogotá. Recuperado el 10 de Agosto de 2017, de
http://www.bdigital.unal.edu.co/50951/1/74371282.2015..pdf
69