Está en la página 1de 71

DESARROLLO MATEMÁTICO Y APLICACIÓN DE LA CINEMÁTICA INVERSA

POR MEDIO DE UN SOFTWARE DE CÁLCULO Y PROGRAMACIÓN, PARA EL


ROBOT MITSUBISHI RV-M1

DARÍO ANDRÉS GÓMEZ CAMPOS


ÀLVARO ENRIQUE BUSTOS QUINTERO

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


FACULTAD TECNOLOGICA
DEPARTAMENTO DE TECNOLOGIA E INGENIERÍA MECÁNICA
BOGOTÁ D.C.
2018
DESARROLLO MATEMÁTICO Y APLICACIÓN DE LA CINEMÁTICA INVERSA
POR MEDIO DE UN SOFTWARE DE CÁLCULO Y PROGRAMACIÓN, PARA EL
ROBOT MITSUBISHI RV-M1

DARÍO ANDRÉS GÓMEZ CAMPOS


ALVARO ENRIQUE BUSTOS QUINTERO

Trabajo de grado, para optar por el título de:


INGENIERO MECÁNICO

DIRECTOR:
M.sc ING. JOHN ALEJANDRO FORERO CASALLAS

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


FACULTAD TECNOLOGICA
DEPARTAMENTO DE TECNOLOGIA E INGENIERÍA MECÁNICA
BOGOTÁ D.C.
2018
DEDICATORIA

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.

Álvaro Enrique Bustos Q.

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 Luini Leonardo Hurtado por el apoyo constante y el seguimiento al proceso de


desarrollo del presente proyecto.

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

Ilustración 1 Manipulador Serial Mitsubishi Melfa RV-M1 movemaster. .......................... 12


Ilustración 2 Instalación general para la manipulación del RV-M1 .................................... 13
Ilustración 3 Articulaciones del manipulador robot MITSUBISHI RV-M1. ....................... 15
Ilustración 4 Desarme y limpieza ......................................................................................... 16
Ilustración 5 Desensamble de RV-M1 vista en posición origen. ......................................... 16
Ilustración 6 Desarme del manipulador RV-M1 .................................................................. 17
Ilustración 7 limpieza de juntas ............................................................................................ 17
Ilustración 8 Lubricación de juntas ...................................................................................... 18
Ilustración 9 Alineación de finales de carrera ...................................................................... 18
Ilustración 10 Diagrama de relación ente cinemática directa e inversa. .............................. 21
Ilustración 11 Dimensiones generales del RV-M1 ............................................................... 27
Ilustración 12 Denavit Hartenberg, por Peter Corke ............................................................ 28
Ilustración 13 Modelamiento del manipulador mediante los parámetros D-H a través de la
herramienta de Matlab-Robotic Toolbox(Peter Corke) ........................................................ 29
Ilustración 14 Solución de la cinemática inversa mediante descomposición geométrica
(vista de techo)...................................................................................................................... 31
Ilustración 15 Solución de la cinemática inversa mediante descomposición geométrica
(vista lateral). ........................................................................................................................ 32
Ilustración 16 Dibujo " Base/Waist ".................................................................................... 35
Ilustración 17 Dibujo "Body and Shoulder cover". .............................................................. 36
Ilustración 18 Dibujo "Upper Arm". .................................................................................... 36
Ilustración 19 Dibujo "Fore arm". ........................................................................................ 37
Ilustración 20 Dibujo "Wrist pitch" ...................................................................................... 37
Ilustración 21 Dibujo “Wrist roll”. ....................................................................................... 38
Ilustración 22 Robot Mitsubishi Melfa RVM1, dibujo realizado en SOLIDWORKS®...... 39
Ilustración 23 Bloque entorno .............................................................................................. 39
Ilustración 24 Parámetros del bloque entorno. ..................................................................... 40
Ilustración 25 Bloque raíz..................................................................................................... 40
Ilustración 26 Parámetros Bloque raíz.................................................................................. 40
Ilustración 27 Bloque soldadura ........................................................................................... 41
Ilustración 28 Bloque de cuerpo ........................................................................................... 41
Ilustración 29 Bloque revoluta ............................................................................................. 41
Ilustración 30 Primer entorno gráfico RV-M1 ..................................................................... 42
Ilustración 31 Configuración de los sensores ....................................................................... 42
Ilustración 32 Bloque restricción geométrica ....................................................................... 43
Ilustración 33 Conexión de bloques para el movimiento de la junta.................................... 43
Ilustración 34 Bloque constante ........................................................................................... 43
Ilustración 35 Bloque control deslizante .............................................................................. 43
Ilustración 36 Restricciones del deslizador .......................................................................... 44
Ilustración 37 Bloque multiplicador ..................................................................................... 44
Ilustración 38 Bloque actuador de junta ............................................................................... 44

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

El presente trabajo plantea la solución de la cinemática inversa y directa de un manipulador


Melfa Mitsubishi RV-M1, a través de una interfaz de operación. Se comienza con una
recopilación de la investigación realizada del robot en el que se incluían sus soluciones
cinemáticas y la explicación de la manipulación por medio de software, de esto se toman
datos guías. De esta forma se realizó la solución por medio de un programa de cálculo y
programación que permite al usuario ver por medio de una interfaz gráfica la ubicación
inicial y final del manipulador.
Fue necesario tener interacción física con la máquina, para realizar la toma de mediciones y
lograr una mayor precisión en la modelación, fue utilizado el programa SOLIDWORKS®,
donde se crearon las respectivas piezas y restricciones, se determinó que era el adecuado
debido al proceso de exportación a MATLAB® r2017a el resultado fue un diagrama de
bloques donde se pueden añadir la restricciones angulares del manipulador, en su interfaz
de le agregaron distintos elementos que permitieran la manipulación y control por parte del
usuario final, creando así una interfaz gráfica amigable y de fácil uso. Para finalizar esta
parte se procedió a incorporar el proceso de solución de la cinemática directa e inversa,
donde al realizar la variación angular de cualquier eslabón se obtenía el resultado de las
coordenadas cartesianas de la herramienta final este se puede visualizar como Px, Py y Pz,
la interfaz gráfica sirve como apoyo para la comprensión de los movimientos físicos que se
pueden lograr.
Finalmente se llegó a comprobar los resultados y las soluciones de la cinemática directa e
inversa en el programa MATLAB®, mediante la conexión y posteriormente envió de
órdenes a través del software mencionado, de tal forma que el manipulador en su lenguaje
intrínseco pueda interpretarlas, con base a la lista de comandos mencionados en el manual
de usuario. El primer paso fue una evaluación técnica y posterior mantenimiento al robot
del laboratorio de mecánica, pudiendo corregir ciertos errores. Se explica cómo se realizó la
conexión y el protocolo utilizado en el enlace, donde no se utilizó otro hardware como
traductor de los códigos enviados, el resultado fue una interfaz serial donde se puede
visualizar como el robot se mueve en una interfaz gráfica virtual y recrea estos
movimientos físicamente. El manipulador por ser antiguo tiene un tiempo de respuesta
relativamente lento, aun así, logra interpretar y procesar las órdenes enviadas.

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

El presente trabajo se refiere a la solución de la cinemática inversa por el método de


geometría cerrada para el manipular Mitsubishi RV-M1, el cual se encuentra en la
Universidad Distrital Francisco José de Caldas, facultad tecnológica laboratorio de
Mecánica. Es un Robot de uso industrial que tiene diversas aplicaciones enfocadas a la
automatización de procesos en pro de mejorar factores como lo son calidad, eficiencia,
seguridad y productividad. Actualmente se ha incurrido en la implementación de
manipuladores robóticos en la ejecución de tareas de precisión, repetitivas o que
representen un riesgo para el ser humano.
El manipulador posee un gran potencial para ser implementado en el ámbito académico,
ofreciendo la posibilidad de aplicar los conocimientos teóricos con la práctica de la
manipulación del Robot. Se propone entonces el desarrollo matemático y la aplicación de la
solución de las cadenas cinemáticas del manipulador, haciendo uso de un software de
cálculo y programación con el objetivo de establecer un entorno de interacción virtual,
facilitando el entendimiento de su funcionamiento y proceso de operación.
Para ejecutar el proceso de desarrollo del objetivo propuesto se realizaron investigaciones
previas en diversos artículos donde establecían análisis similares con diferentes
manipuladores robóticos incluidos el RV-M1 y la forma de intervenirlos analíticamente y
operativamente.
De manera semejante se ejecutó un estudio detallado del proceso de interpretación
matemática del manipulador, el análisis de su cinemática directa empleando los algoritmos
establecidos por Denavit-Hartenberg y de forma análoga el análisis de la cinemática inversa
utilizando el método de desarrollo por descomposición geométrica, para determinar el
algoritmo solución que permita obtener mediante posiciones angulares (cinemática directa)
y a través de posiciones cartesianas (cinemática inversa) un ubicación deseada.
Una vez desarrollado dicho algoritmo se procedió a diseñar un entorno virtual simulando
las condiciones reales del manipulador con el objetivo de establecer una interacción y
manipulación gráfica del mismo.
Se presenta una verificación realizada de forma extrínseca a los objetivos propuestos del
proyecto para demostrar la funcionalidad de la interfaz virtual y gráfica mediante los
resultados de la cinemática directa e inversa, logrando una ventana de usuario que permite
la interacción con el robot en tiempo real, la cual ayuda a que las rutinas de toma de datos
con la manipulación del control teaching Box con las que se maneja el robot sean más
eficaces y lleven menos tiempo.

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

- Rotación pura: El cuerpo posee un punto (centro de rotación) que no tiene


movimiento con respecto al marco de referencia “estacionario”. Todos los demás
puntos del cuerpo describen arcos alrededor del centro. Una línea de referencia
trazada en el cuerpo a través del centro cambia solo su orientación angular.

- 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.

- Movimiento complejo: Una combinación simultanea de rotación y traslación.


Cualquier línea de referencia trazada en el cuerpo cambiara tanto su posición lineal
como su orientación angular. Los puntos en el cuerpo recorrerán trayectorias no
paralelas, y habrá, en todo instante, un centro de rotación, el cual cambiará
continuamente de ubicación. (Solano B, 2015)

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

El número de grados de libertad que posee un manipulador (translacionales y rotacionales)


es el número de variables de posición independientes que tendrían que especificarse para
poder localizar todas las piezas del mecanismo. Éste es un término general que se utiliza
para cualquier mecanismo. (Craig, 2006) Se calculan mediante el criterio de Grubler-
kutzbach
𝐺𝐷𝐿 = 3(𝑛 − 1) −2𝑗 1 − 𝑗 2
Ecuación 1 Criterio de Grubler-Kutzbach

GDL = 3(n − 1) − 2j1 − j2 (1)

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.

Fuente (Mitsubishi Industrial Micro-Robot System)

GDL = 3(4 − 1) − 2(2) − 0 = 5G


GDL > 0, mecanismo
Con el cálculo de los GDL del manipulador se puede deducir que es un mecanismo de
cadena abierta y su análisis es funcional.

12
1.4 Robot Mitsubishi Movemaster RV-M1

Es un Manipulador robótico vertical articulado con 5 grados de libertad y posibilidad de


bifurcaciones en el extremo operacional del mismo. Cuenta con 63 comandos de
programación, velocidad graduable y máxima de hasta 1 m/s con 629 posiciones (8kb)
desde la Teaching box, 2048 líneas de programación (16kb) a partir de la computadora
también puede soportar una carga máxima de 0,5 kg.
Ilustración 2 Instalación general para la manipulación del RV-M1

Fuente (Mitsubishi Industrial Micro-Robot System)

El sistema presentado en la ilustración 2, permite operar el robot por los siguientes


accesorios:
- Brazo articulado.
- Efector final (gripper, intercambiador de herramientas o sensor).
- Teaching box.
- Controlador.
- Cables de conexión.
- Computador con software para establecer comunicación con el robot.
En la tabla 1 se encuentra la descripción del equipo estándar y opcional junto con el tipo de
componente que este utiliza. El opcional muestra las distintas conexiones desde una
computadora y manejo manual.

13
Tabla 1 Equipo estándar y opcional

Division Description Type Rewarks


Robot RV-M1 Vertical articulated robot with 5 degrees of
freedom
Standard equipment

Drive unit D/U-M1 Robot controller


Motor signal cable (5m) MS-M1 Gives control signals from the drive unit the
robot
Supplies power from the drive unit to the
Motor power cable (5m) MP-M1
robot
Power cord (2.5m) POW-M1 Supplies power to the drive unit
I/O card A8 (or B8) I/O-A8 (I/O-B8) 8 inputs/ 8 outputs.
I/O card A16 (or B16) I/O-A16 (I/O-B16) 16 inputs/16 outputs.
Teaching box Handy control swithbox with a cable for
T/B-M1
(Cable length 3m) teaching, checking, correcting positions.
Motor-operated hand HM-01 Hand which is only used with the RV-M1 and
allows 16-step holding power control.
EP-ROM 256K-ROM Stores writtenprograms and set positions.
Backup battery BAT-M1 Backs up the memory during power off
Optional equipment

External I/O cable I/O-CBL Connects with an external peripheral, e.g.


programmable controller.
RS-MULTI-CBL RS-232C cable used to connect the MULTI16
RS-232-C (3m)
MULTI16
Personal computer cable

C-MULTI-CBL Centronics cable used to connect the


Centronics (2m) MULTI16
RS-232C cable used to connect the MULTI16
RS-PC-CBL (3m) PC9801.
RS-232-C
PC9801
Centronics cable used to connect the PC9801.
C-PC-CBL (1.5m)
Centronics
RS-FREE-CBL RS-232C cable with one free end
RS-232-C (3m)
Free cable
C-FREE-CBL Centronics cable with one free end
Centronics (1.5m)
Fuente (Mitsubishi Industrial Micro-Robot System)

El brazo cuenta con cinco articulaciones que se pueden apreciar en la Ilustración 4 y se


mencionan en el siguiente listado:
- J1: cintura (Waist/Base)
- J2: hombro (Shoulder/Upper arm)
- J3: codo (Elbow)
- J4: pitch (Wrist Pitch/Fore arm)
- J5: roll (Wrist Roll)

14
Ilustración 3 Articulaciones del manipulador robot MITSUBISHI RV-M1.

Fuente (Mckinley R, Rodríguez S, Yime R, & James., 2012)

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

Para la ejecución del presente proyecto se realizó el acondicionamiento del manipulador


RV-M1 con el fin de verificar su funcionabilidad y llevar a cabo algunas actividades
propias del desarrollo de cada objetivo.
Se realiza una rutina de mantenimiento básico que comprendió:
- Desarme y limpieza del manipulador:
Ilustración 4 Desarme y limpieza

Fuente propia.

Ilustración 5 Desensamble de RV-M1 vista en posición origen.

Fuente propia.

16
Ilustración 6 Desarme del manipulador RV-M1

Fuente propia.

- Lubricación de las juntas y correas


Ilustración 7 limpieza de juntas

Fuente propia.

17
Ilustración 8 Lubricación de juntas

Fuente propia.

- Alineación de los finales de carrera


Ilustración 9 Alineación de finales de carrera

Fuente propia.

- Ensamble y puesta en marcha

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.

ii. Cambio del freno eléctrico del eslabón 1.

iii. Puesta en marcha del gripper, se desconoce el por qué no se encuentra funcionando.

18
2 CONDICIONES GEOMÉTRICAS Y DE POSICIONAMIENTO

2.1 Cinemática directa

Se utiliza para describir la posición de un objeto en el espacio tridimensional por medio de


descomposición algebraica teniendo en cuenta una referencia fija dado que el análisis se
hace en un robot, este tiene una serie de eslabones unidos que toman su punto de referencia
de la parte fija la solución se reduce en tomar los ángulos θ para cada eslabón y obtener las
coordenadas de los puntos 𝑃𝑥 , 𝑃𝑦 , y 𝑃𝑧 este se puede resolver por el método de Denavit-
Hartenberg empleando matrices homogéneas donde se tendrá la ubicación de un eslabón
respecto al otro, reduciendo a encontrar la matriz homogénea de transformación T (Craig,
2006)

2.1.1 Posición y orientación

Para localizar la posición del manipulador es un espacio tridimensional se realizará en este


trabajo por medio de coordenadas cartesianas, pero también se podrían utilizar coordenadas
cilíndricas y esféricas para este requerimiento, para comprender este primer paso para la
solución se debe plantear un punto de referencia fijo y otro móvil, donde se forma un vector
orto-normal con coordenadas que se denominaran 𝑃𝑥 , 𝑃𝑦 , y 𝑃𝑧 (Barrientos, Peñín, Balaguer,
& Aracil, 2007)
𝑃𝑥
𝑃 = [𝑃𝑦]
𝑃𝑧

Ecuación 2 Notación vectorial del vector orto-normal

𝑃𝑥
𝑃
𝑃 = 𝑦]
[
(2)
𝑃𝑧

2.1.2 Matriz de Orientación

Para realizar la representación de un punto totalmente referenciado en el espacio para un


sistema de coordenadas cartesianas de debe tomar el mismo principio del vector de
posición, para este caso se tendrá una dirección móvil denominada B y fija A, el vector
unitario con respecto al punto fijo y móvil será 𝐴0𝑋̂𝐵 , 𝐴0𝑌
̂ 𝐴̂
𝐵 , 0𝑍𝐵 , en este caso la matriz de
rotación es (Barrientos, Peñín, Balaguer, & Aracil, 2007)
𝑟11 𝑟12 𝑟13
{𝐵𝑅 } = [ 0̂
𝑋𝐵 𝐴0𝑌̂𝐵 𝐴0̂
𝑍𝐵 ] = [𝑟21 𝑟22 𝑟23 ]
𝐴 𝐴

𝑟31 𝑟32 𝑟33

Ecuación 3 Matriz de orie ntación

𝑟11 𝑟12 𝑟13


{𝐵𝐴𝑅 } = ̂𝐵 𝐴0𝑌
[𝐴0𝑋 ̂ 𝐴̂
𝐵 0𝑍𝐵 ] = [𝑟21 𝑟22 𝑟23 ] (3)
𝑟31 𝑟32 𝑟33

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

Ecuación 4 Matriz homogénea

𝑐𝑜𝑠 𝜃𝑖 −𝑐𝑜𝑠 ∝𝑖 ∗ 𝑠𝑖𝑛 𝜃𝑖 𝑠𝑖𝑛 ∝𝑖 ∗ 𝑠𝑖𝑛 𝜃𝑖 𝑎𝑖 𝑐𝑜𝑠 𝜃𝑖


𝑠𝑖𝑛 𝜃𝑖 𝑐𝑜𝑠 ∝𝑖 ∗ 𝑐𝑜𝑠 𝜃𝑖 −𝑠𝑖𝑛 ∝𝑖 ∗ 𝑐𝑜𝑠 𝜃𝑖 𝑎𝑖 𝑠𝑖𝑛 𝜃𝑖
𝐴𝑖−1
𝑖 =[ ]
0 𝑠𝑖𝑛 ∝𝑖 𝑐𝑜𝑠 ∝𝑖 𝑑𝑖 (4)
0 0 0 1

Entonces la matriz de transformación homogénea 𝑇𝑖0 vendrá dada por la multiplicación de


cada solución por eslabón de la matriz homogénea, es decir:
𝑖
𝑅𝑖0 𝑃𝑖0
𝑇𝑖0 = 𝐴10 𝐴21 … 𝐴𝑖𝑖−1 = ∏𝐴𝑗𝑗 −1 = [
0 1]
𝑗 =1

Ecuación 5 Matriz de transformación homogénea

𝑖 (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

Esta metodología de solución para sistemas de cadenas cinemáticas abiertas permite


establecer la ubicación de los sistemas de referencia para eslabones en conjuntos robóticos
articulados, ya sean prismáticas o de revolución. El planteamiento del problema cinemático
inverso consiste en encontrar los valores que deben adoptar las coordenadas articulares del
robot al que se nombrará como 𝑞, el modelamiento vectorial que describe los
𝑇
posicionamientos del robot se define como 𝑞 = [𝑞1 , 𝑞2, 𝑞3 , … … . . , 𝑞𝑛 ] para que su extremo
se posicione y oriente según una determinada localización espacial.
Ilustración 10 Diagrama de relación ente cinemática directa e inversa.

Fuente (Barrientos, Peñín, Balaguer, & Aracil, 2007)

La representación Denavit-Hartenberg desarrollada en 1955 por Jacques Denavit-


Hartenberg y Richard Hartenberg permite desarrollar un modelo matricial para establecer
de forma sistemática un conjunto de coordenadas (buscando una fijación al cuerpo) para
cada elemento de la cadena articulada. Esta metodología resulta en una transformación
homogénea de 4𝑥4 representando cada uno de los sistemas de coordenadas del elemento
previo mediante transformaciones secuenciales donde el efector final expresado en las
coordenadas de la mano se puede transformar y expresar en las coordenadas de la base.
A continuación, se mencionarán los componentes para el desarrollo del algoritmo de
Denavit-Hartenberg para la obtención del modelo cinemático directo:
1. Numerar los eslabones comenzando con 1 (primer eslabón móvil de la cadena) y
acabando con 𝑛 (último eslabón móvil). Se numerará como eslabón 0 a la base fija
del robot.
2. Numerar cada articulación comenzando por 1 (la correspondiente al primer grado de
libertad) y acabando en 𝑛.
3. Localizar el eje de cada articulación. Si ésta es rotativa, el eje será su propio eje de
giro. Si es prismática, será el eje a lo largo del cual se procede el desplazamiento.
4. Para 𝑖 de 0 a 𝑛 − 1 situar el eje 𝑧, sobre el eje de la articulación 𝑖 + 1.
5. Situar el origen del sistema de la base [𝑆0 ] en cualquier punto del eje 𝑧0 . Los ejes 𝑥0
e 𝑦0 se situarán de modo que formen un sistema dextrógiro con 𝑧0 .

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

2.3.1 Solución de la cinemática directa para el manipulador RV-M1 empleando el


software de programación MATLAB®

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;

Valores de la orientación sin tener en cuenta los valores D-H


Para n:
𝑛𝑥 =T(1,1)

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)

ans = - cos(t5)*(cos(pi/2 + t4)*(sin(t1)*sin(t2)*sin(t3) - cos(t2)*cos(t3)*sin(t1)) + sin(pi/2


+ t4)*(cos(t2)*sin(t1)*sin(t3) + cos(t3)*sin(t1)*sin(t2))) - cos(t1)*sin(t5)
𝑛𝑧 = T(3,1)
ans = cos(t5)*(cos(pi/2 + t4)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) + sin(pi/2 +
t4)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)))

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)

ans =sin(t5)*(cos(pi/2 + t4)*(sin(t1)*sin(t2)*sin(t3) - cos(t2)*cos(t3)*sin(t1)) + sin(pi/2 +


t4)*(cos(t2)*sin(t1)*sin(t3) + cos(t3)*sin(t1)*sin(t2))) - cos(t1)*cos(t5)
𝑜𝑧 =T(3,2)
ans =-sin(t5)*(cos(pi/2 + t4)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) + sin(pi/2 +
t4)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)))

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)

ans =cos(pi/2 + t4)*(cos(t2)*sin(t1)*sin(t3) + cos(t3)*sin(t1)*sin(t2)) - sin(pi/2 +


t4)*(sin(t1)*sin(t2)*sin(t3) - cos(t2)*cos(t3)*sin(t1))

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)

ans =d5*(cos(pi/2 + t4)*(cos(t2)*sin(t1)*sin(t3) + cos(t3)*sin(t1)*sin(t2)) - sin(pi/2 +


t4)*(sin(t1)*sin(t2)*sin(t3) - cos(t2)*cos(t3)*sin(t1))) + a2*cos(t2)*sin(t1) +
a3*cos(t2)*cos(t3)*sin(t1) - a3*sin(t1)*sin(t2)*sin(t3)
𝑃𝑧 =T(3,4)
ans =d1 + a2*sin(t2) - d5*(cos(pi/2 + t4)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)) - sin(pi/2 +
t4)*(cos(t2)*sin(t3) + cos(t3)*sin(t2))) + a3*cos(t2)*sin(t3) + a3*cos(t3)*sin(t2)
Escalado:
1=T(4,4)
ans =1
Perspectiva:
>> T(4,1)
ans =0
>> T(4,2)
ans =0
>> T(4,3)
ans =0
Teniendo esta solución se simula el estado del robot con los ángulos θ representados como
“t” en valor cero y los valores de DH, posición horizontal
d1=300;
d5=147;
a2=250;
a3=160;
t1=0;
t2=0;
t3=0;

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

Fuente (Mitsubishi Industrial Micro-Robot System)

27
2.3.2 Solución de la cinemática directa utilizando el toolbox de Peter Corke para el
manipulador RV-M1 en MATLAB®

En búsqueda de diferentes alternativas de solución para la cinemática del robot se encontró


el toolbox ofrecido por Peter Corke en su libro Robotics Toolbox para el software C, la
programación para el manipulador RV-M1 se realizó bajo los mismos planteamientos de
DH.
clc
clear
syms t1 t2 t3 t4 t5 real;
syms d1 a2 a3 d4 real;
%Solución cinemática por medio del Toolbox de Peter Corke
%Para el manipulador RVM1
L=Link([0 300 0 pi/2]);
L(2)=Link([0 0 250 0]);
L(3)=Link([0 0 160 0]);
L(4)=Link([0 0 0 pi/2]);
L(5)=Link([0 147 0 0]);
SerialLink(L)
Rob=SerialLink(L)
Rob.name='RV-M1';
q1=0; q2=0; q3=0; q4=0+pi/2; q5=0;
Rob.plot([ q1 q2 q3 q4 q5 ])
Rob.fkine([ q1 q2 q3 q4 q5 ])
syms th1 th2 th3 th4 th5
Rob.fkine([th1 th2 th3 th4 th5])
Rob.fkine([ q1 q2 q3 q4 q5 ])

Rob =
noname:: 5 axis, RRRRR, stdDH, slowRNE

Ilustración 12 Denavit Hartenberg, por Peter Corke

j theta d a alpha offset

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

De acuerdo a los resultados obtenidos por el método de la cinemática directa, se procede a


resolver la cinemática inversa para el manipulador RV-M1, se tiene en cuenta los valores
de los eslabones representados en la tabla 2 e ilustración 11. Para robots menores a 6 GDL
se puede solucionar utilizando el método geométrico, para este caso particular con 5 GDL
se va hacer uso de este, debido a que calculando las coordenadas X, Y y Z del segundo
eslabón (Elbow) el cual no tiene valores angulares positivos, con los ángulos pitch y roll
para este manipulador (𝜃4 y 𝜃5 ) son suficientes para dar una solución simple a este
problema.
El uso del software para hacer esta solución y variación de posiciones se utiliza sin ningún
tipo de toolbox solo con las ecuaciones obtenidas por el método y la variación de las
coordenadas.

2.4.1 Cinemática inversa

El estudio de la cinemática inversa da solución a la mayoría de las aplicaciones, donde se


requiere determinar los ángulos entre eslabones necesarios para una posición específica del
efector final. Para obtener esta ubicación y orientación dada se hace una referencia de
nuevo a la posición fija ubicada en la parte inferior de la base. Este planteamiento es el de
uso fundamental para la aplicación práctica de los manipuladores. (Craig, 2006)
A diferencia de la solución del problema cinemático directo, la solución del problema
cinemático inverso no es única, arrojando como resultado la existencia de diferentes n-
𝑇
uplas 𝑞 = [𝑞1 , 𝑞2, 𝑞3 , … … . . , 𝑞𝑛 ] que posicionan y orientan el extremo del robot del mismo
modo. (Barrientos, Peñín, Balaguer, & Aracil, 2007)
El cálculo de la cinemática inversa resulta ser un problema de alto grado de complejidad
cuyo proceso de análisis y solución conlleva a resultados comúnmente no únicos. (Solano
B, 2015)

2.4.2 Solución del problema cinemático inverso por el método geométrico

La solución por el método geométrico a la cinemática inversa es aplicada a robots con


pocos grados de libertad donde se busca encontrar el suficiente número de relaciones
geométricas en las que intervendrán las coordenadas del extremo del robot, sus
coordenadas articulares y las dimensiones físicas de sus elementos. (Barrientos, Peñín,
Balaguer, & Aracil, 2007) Se puede empezar encontrando solo los tres primeros grados por
el teorema del coseno, debido a que estos son los dedicados a posicionar el extremo solo
30
bastaría con manipular los últimos dos grados para el caso donde el manipulador sea de
cinco.
Para el caso particular del RV-M1 se encontrarán los tres primeros grados de libertad
ecuaciones (6) solución del primer ángulo (Theta 1), (7) solución del tercer ángulo (Theta
3), y (8) solución del segundo ángulo (Theta 2), para los dos últimos eslabones se tendrá la
comprensión de los ángulos de barrido, este principio se tomó de (Barrientos, Peñín,
Balaguer, & Aracil, 2007)

Solución de 𝜃1 (waist), 𝐽1
−150° ≤ 𝜃1 ≤ 150°
𝑃𝑦 𝑃𝑥
=
𝑠𝑖𝑛 𝜃1 𝑐𝑜𝑠 𝜃1
𝑃𝑦
𝜃 1 = 𝑡𝑎𝑛−1 ( )
𝑃𝑥

Ecuación 6 Solución del primer ángulo (Theta 1) por Cinemática Inversa

𝑃𝑦 (6)
𝜃1 = 𝑡𝑎𝑛−1 ( )
𝑃𝑥

Ilustración 14 Solución de la cinemática inversa mediante descomposición geométrica (vista de techo).

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

Ecuación 7 Solución del tercer ángulo (Theta 3) por Cinemática Inversa

𝑃𝑧 2 + 𝑃𝑦 2 + 𝑃𝑥 2 −𝑎3 2 − 𝑎2 2 (7)
𝜃3 = 𝑐𝑜𝑠 −1 ( )
2𝑎2 𝑎3

Para la solución de la cinemática inversa por el método de descomposición geométrica


donde es posible un arreglo por ley de cosenos para la ubicación codo abajo del
manipulador, en el caso del RV-M1 esto es posible debido a que el eslabón Elbow no tiene
desplazamiento angular positivo como lo muestra la tabla 2.
Tabla 3 Movimiento angular de los eslabones

Nombre del eslabón Movimiento angular del eslabón


Waist/Base −150° ≤ 𝜃1 ≤ 150°
Shoulder/Upper arm −30° ≤ 𝜃2 ≤ 100°
Elbow −110° ≤ 𝜃3 ≤ 0°
Wrist Pitch/Fore arm −90° ≤ 𝜃4 ≤ 90°
Wrist Roll −180° ≤ 𝜃5 ≤ 180°

Ilustración 15 Solución de la cinemática inversa mediante descomposición geométrica (vista lateral).

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

Ecuación 8 Solución del segundo ángulo (Theta 2) por Cinemática Inversa

𝑃𝑧 𝑎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.

El proceso de modelado se llevó a cabo en el software SOLIDWORKS® para el uso del


respectivo programa se utilizó una licencia estudiantil con periodo de caducidad,
descargada mediante la página de Dassault Systèmes®. En el levantamiento de medidas del
manipulador RV-M1 se realizó mediante el uso de un calibrador pie de rey y un flexómetro.
De los componentes se dibujaron las geometrías externas de las piezas, sin tomar detalle de
sus características internas, con el fin de poder crear una máquina virtual, puesto que
permiten cumplir con los grados de libertad del manipulador y los desplazamientos.
El proceso de dibujo se ejecutó en el entorno “Pieza” de SOLIDWORKS® efectuando las
operaciones correspondientes para cada elemento. Posteriormente se realizó una
verificación del modelo CAD siguiendo la guía del respectivo manual del fabricante.
A continuación, se listarán los elementos dibujados:

- Base/Waist:

Ilustración 16 Dibujo " Base/Waist ".

Fuente propia.

35
- Body and Shoulder cover

Ilustración 17 Dibujo "Body and Shoulder cover".

Fuente propia.

- Upper Arm

Ilustración 18 Dibujo "Upper Arm".

Fuente propia.

36
- Fore arm

Ilustración 19 Dibujo "Fore arm".

Fuente propia

- Wrist pitch

Ilustración 20 Dibujo "Wrist pitch"

Fuente propia.

37
- Wrist roll

Ilustración 21 Dibujo “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.

A través de la activación del complemento Simscape Multibody Link® en la consola de


MATLAB® se puede desplegar y activar un vínculo con SOLIDWORKS® para exportar
de dicho software el modelo del robot a un formato reconocible por MATLAB® para su
posterior análisis y programación.
A continuación, se dará una breve descripción de cada bloque:
- Bloque entorno: Permite definir ciertas propiedades del entorno de la máquina
virtual, como por ejemplo la gravedad y su vector de acción en el espacio.
Ilustración 23 Bloque entorno

Fuente propia.

Al desplegar el bloque se obtiene la siguiente ventana de opciones:

39
Ilustración 24 Parámetros del bloque entorno.

Fuente propia.

Sin realizar modificaciones se procede a aceptar.


- Bloque raíz: Establece un punto de unión fijo en la ubicación del sistema de
coordenadas espacial.
Ilustración 25 Bloque raíz.

Fuente propia.

El despliegue de su menú de entornos arroja la siguiente consola:


Ilustración 26 Parámetros Bloque raíz.

Fuente propia.

Sin generar cambios se procede a aceptar.


- Bloque soldadura: Junta de soldadura, representa cero grados de libertad y conecta
rígidamente los cuerpos base (B) y seguidor (F) en la configuración relativa inicial.
Esta junta no puede ser accionada.

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.

Ilustración 28 Bloque de cuerpo

Fuente propia.

- Bloque Revoluta: Representa un grado de libertad de rotación. El cuerpo del


seguidor (F) gira en relación con el cuerpo de la base (B) alrededor de un solo eje de
rotación que recorre los orígenes del sistema de coordenadas del cuerpo co-ubicado.
Se pueden agregar puertos de sensores y actuadores. La secuencia del seguidor base
y la dirección del eje determinan el signo del movimiento hacia adelante mediante
la regla de la mano derecha.
Ilustración 29 Bloque revoluta

Fuente propia.

Para efectuar la simulación se activa el comando “RUN” en la barra de herramientas de


Simulink®.
Una vez Simulink® presenta el diagrama de bloques y es ejecutada la simulación se debe
realizar una programación de cada una de las juntas revolutas para restringir los
movimientos del Robot, pues en su etapa inicial giran arbitrariamente presentando
colisiones entre sí.

41
Ilustración 30 Primer entorno gráfico RV-M1

Fuente propia.

El Robot Mitsubishi Melfa Movemaster RV-M1 se puede modelar y simular como un


conjunto de cuerpos de contacto con relaciones concéntricas entre sí, sus juntas son
revolutas con las características propias del bloque mencionado anterior mente.
Al desplegar el menú de entorno del bloque se obtiene la siguiente consola donde se
configurará el número de sensores, en este caso se adjuntará un sensor.
Ilustración 31 Configuración de los sensores

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.

Se listarán y describirán brevemente cada uno de estos bloques y su correspondiente


configuración si así alguno lo requiere.
Bloque constante: muestra la constante especificada por el parámetro 'Valor constante'. Si
'Valor constante' es un vector permite interpretar parámetros vectoriales. Modela el vector
como una matriz con las mismas dimensiones del valor constante.
Ilustración 34 Bloque constante

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.

Genera una interfaz deslizante al desplegar el menú de opciones.

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.

Al evaluar nuevamente la simulación se configura en la consola de Simulink® el tiempo de


ejecución estableciendo un rango infinito como se muestra en la ilustración 40. Finalmente
se presenta en la ilustración 42 el diagrama de bloques del Robot con sus respectivas
configuraciones.
Ilustración 40 Configuración del tiempo de simulación

Fuente propia.

Ilustración 41 Interfaz gráfica con restricciones

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

El proceso de control del manipulador robótico se llevó a cabo mediante el diseñó un


sistema de mandos a través del entorno Guide de MATLAB®. Para acceder al entorno
Guide se procede a ingresar el siguiente código en la consola de programación:
guide
Ilustración 43 Ingreso al entorno GUIDE

Fuente propia.

Donde se desplegará la ventana de comandos del entorno Guide.


Ilustración 44 Ventana del entorno GUIDE

Fuente propia.

De esta forma se procede a crear un nuevo Guide. La ventana de comandos que se


despliega permite desarrollar un entorno de control de forma gráfica. El usuario define las
entradas que desea asignar a su mando de control y las variables que llamará definiendo sus
rangos y características propias.
En la ilustración 45 se presenta de forma general el entorno de creación del Guide.

Ilustración 45 Lay-out para la creación del GUIDE

47
Fuente propia.

El desarrollo del mando de control de este proyecto se efectuó mediante el diseño de un


Guide con “sliders” o deslizadores donde en cada uno de ellos se estableció un rango
correspondiente a los valores límite de los ángulos presentes en cada eslabón del brazo
robótico. También se implementaron ventanas de texto que arrojan los valores
correspondientes a la cinemática directa e inversa del robot a medida que se van operando
los deslizadores.
Para la manipulación del robot se utilizaron ocho deslizadores, cinco de ellos que dan
control a la cinemática directa del mismo a través del mando de sus ángulos y tres que
permiten establecer los valores de la cinemática inversa, donde mediante los ángulos se
arrojan las posiciones 𝑃𝑥 , 𝑃𝑦 , y 𝑃𝑧 del efector final. También se añadió un “Push Button”
Para enviar señales al entorno de la máquina virtual.
Es importante tener en cuenta que la eficiencia del mando de control Guide está
fuertemente ligada al correcto desarrollo de las ecuaciones correspondientes a la cinemática
directa e inversa del brazo robótico, su correcta asociación con cada deslizador y el llamado
del modelo creado mediante Simulink®.

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

En las siguientes ilustraciones 47 y 48 se puede identificar la conexión e interacción entre


el modelo y el mando de control Guide.

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.

Ilustración 49 Señales de Simulink

Fuente propia.

A continuación se pulsa el boton ‘Play’ para realizar la simulación y se selecciona la opcion


“Simulation Data Inspector” mostrada en la ilustración 50.
Ilustración 50 Simulation Data Inspector Simulink

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

Ilustración 55 Desplazamiento angular Vs. Tiempo 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

Ilustración 58 Desplazamiento angular Vs. Tiempo 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.

Las gráficas de las ilustraciones 53,56 y 59 son representaciones del desplazamiento


angular de cada eslabón como simulación de los servomotores respecto al tiempo. Al
realizar el movimiento por un ‘slider’, cada ángulo toma la posición adecuada para llegar a
la coordenada requerida. No todas las coordenadas son posibles en la cinemática inversa,
por eso se pueden ver picos donde al analizar la interfaz gráfica el manipulador se mueve
bruscamente, es importante analizar estas posiciones debido a que es una ayuda para
visualizar los desplazamientos reales del manipulador.

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

2. Configuración del puerto:

Bits per second (Baudio):9600


Datas bits: 8
Parity: None
Stop bits: 1
Como se muestra en la ilustración 61, esta configuración se realiza en el administrador de
dispositivos del computador que va a realizar la conexión:

60
Ilustración 60 Configuración del puerto COM

Fuente propia.

3. Configuración en Mitsubishi Robot Comm Server

El programa del fabricante del manipulador RV-M1 por defecto es el Mitsubishi


Robot Comm Server, el cual permite el envió de las líneas de programación. La
configuración para la lectura del puerto en que se encuentra el conectado el Robot
se muestra en la ilustración 64; primero se realiza la configuración mostrada en el
paso anterior, después de esto se reinicia el programa y se comprueba el estado de
conexión

61
Ilustración 61 Configuración del programa Mitsubishi Robot Comm Sever

Fuente propia.

Se realiza él envió de las líneas de programación respecto a los comandos que se


indican en (Mitsubishi Industrial Micro-Robot System) en la páginas APP-47-51,
estas coordenadas se pueden tomar también del programa Hyperterminal.
Ilustración 62 Datos recopilador de Hyperterminal

Fuente propia.

62
4.1 Configuración y conexión del RV-M1 en el software MATLAB®

Una vez desarrollado el protocolo de conexión se procede a realizar la comunicación serial


con el RV-M1, mediante una interfaz desarrollada en MATLAB® que permite generar la
comunicación del entorno virtual con el modelo físico, para ejecutar la conexión se adquirió
un cable USB-DB9.
A través del siguiente código se crea el traductor que genere compatibilidad entre el
lenguaje de MATLAB® y el RV-M1:
delete(instrfind)
SCom=serial('COM3');
SCom.StopBits = 1;
SCom.Parity = 'none';
SCom.DataBits = 8;
SCom.BaudRate = 9600;
fopen(SCom)
fprintf(SCom,'SP 2')
SCom

Con estos comandos fue posible la lectura y posterior envió de ordenes al puerto.
4.2 Incorporación del trabajo realizado

Teniendo la conexión realizada se procedió a configurar la interfaz virtual desarrollada para


lograr la robótica serial.
Ilustración 63 Interfaz gráfica y de envió de comandos

Fuente propia.

Se realizó la configuración de comandos esenciales y que permiten manipular el RV-M1


sin tener que digitar una serie de líneas o reiniciar la unidad física, como los son:

63
 Nest, posición en que todos los elabores se encuentran con su final de carrera

 Origen, todos los ángulos con valor cero

 Resetear, si se muestra alguna falla se puede pulsar la unidad reinicia su sistema

 Grip open, pinza abierta

 Grip close, pinza cerrada

 Home, reconoce el sistema de coordenadas

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.

Realizado el envió de los códigos desde MATLAB® al manipulador se determinó que al


enviar una serie de estos se iban sumando con los anteriores, por ello se debe tener la
secuencia utilizada en el programa Robot comm para códigos Movemaster MO. Las
coordenadas representadas tuvieran una coincidencia igual a las del manipulador, esto
quiere decir que las soluciones realizadas por cinemática inversa corresponden como se
aprecia en las ilustraciones 64 y 65.
Mediante el mando de control “Guide” desarrollado se pudo generar una manipulación del
brazo robótico de forma serial, haciendo uso de la cinemática directa e inversa, integrando
así su solución matemática con la interfaz virtual y el robot verificando que a través del
envió de comandos se pudo corroborar la funcionabilidad de la interfaz virtual desarrollada.

65
5 CONCLUSIONES

 Para dar solución a la cinemática directa del manipulador Mitsubishi RV-M1 se


inició con el planteamiento de matrices de transformación homogénea, con esto se
encontraron las coordenadas Px, Py y Pz, realizando la variación de los ángulos.
Con la finalidad de dar solución a la cinemática inversa, se utilizó el método de
geometría cerrada en el que se resolvieron los tres primeros grados de libertad del
manipulador, al traer valores de la cinemática directa y calcularlos en la inversa se
logró un resultado igual para las posiciones posibles del espacio de trabajo, debido a
que el manipulador solo puede funcionar en la posición codo abajo, estos valores
obtenidos son los aceptados por el lenguaje del RV-M1 en sus códigos MJ para para
posiciones angulares y MP para posiciones cartesianas este último acompañado de
los ángulos Roll y Pitch .

 Se ejecutó un proceso de dibujo del manipulador en el software SOLIDWORKS® a


través del proceso de modelamiento donde se puede identificar las características
geométricas de manipulador y a su vez efectuar validaciones de los cálculos
realizados con el fin de comprobar resultados obtenidos a través de la cinemática
directa e inversa del manipulador robótico. El proceso de modelamiento debe ser
preciso, pues un modelo erróneo incurre en imposibilitar la creación de un entorno
virtual funcional y los procesos de simulación se verían afectados. Para análisis
posteriores del manipulador en el entorno de bloques se podrían configurar las
masas de cada uno de los elementos permitiendo diferentes análisis dentro del
programa MATLAB®.

 La interacción entre los programas SOLIDWORKS® y MATLAB® permitieron


recrear y animar el robot con condiciones reales, diseñar el entorno gráfico y
posteriormente generar una interacción virtual con el manipulador robótico. El
proceso se llevó a cabo a partir de las herramientas de MATLAB®, Simscape
Multibody Link®, Simulink® y el entorno de control Guide, donde se establecieron
mediante los respectivos códigos de programación las condiciones geométricas del
robot que determinan sus posibles posiciones en el espacio de trabajo, las soluciones
de sus cadenas cinemáticas y la simulación de su movimiento, obteniendo valores
numéricos en tiempo real de ángulos (cinemática directa) y posiciones (cinemática
inversa) para el robot.

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.

 La metodología empleada en el desarrollo del presente proyecto contó con el


enfoque principal de asegurar un resultado dependiente de cuatro factores
fundamentales:

- Tiempo: Principal en todo momento para realizar investigaciones y seguimiento


a las actividades.

- Inteligencia: Fundamental al momento de interpretar y aplicar nuevas teorías y


conceptos que no se encuentran del todo presentes en el plan de estudio de
Ingeniería Mecánica, también cuestionar de manera critica la temática que está
abordando realizando comparación de conceptos con diversas fuentes.

- Empeño: Siempre presente en todas las actividades ejecutadas en pro de lograr


el cumplimiento de los objetivos propuestos, entendiendo que a pesar de que no
se está trabajando sobre una máquina nueva o en condiciones ideales, esta es
funcional y solo requirió un poco de inventiva dentro de su proceso.

- Propuesta de valor: Es bien sabido que la Universidad Distrital Francisco José


de Caldas es un ente universitario de alta calidad cuya expansión en el ámbito
académico es continua, a través del desarrollo del presente proyecto se quiso
lograr proporcionar una herramienta que permita dar uso continuo al
manipulador robótico para enriquecer el proceso de enseñanza, aportando a los
educandos la oportunidad de enlazar los conceptos teóricos con la práctica
mediante la manipulación de herramientas tecnológicas como lo son
MATLAB® y el Robot Mitsubishi Movemaster RV-M1®.

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.

Craig, J. J. (2006). Robótica. México: Pearson Prentice Hall.

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.

Mitsubishi Industrial Micro-Robot System. (s.f.). MITSUBISHI INDUSTRIAL MICRO-ROBOT


SYSTEM; RV-M1-MANUAL GUIDE.

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

Reyes Cortés, F. (2011). Robótica. Control De Robots Manipuladores. Alfaomega.


Solano B, J. L. (2015). Desarrollo de dispositivos modulares virtuales de arquitectura libre
para el control de posicionamiento multi-axial. Bogotá, Colombia.

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

Wordpress. (12 de 10 de 2017). Petercorke. Obtenido de http://petercorke.com/wordpress/


Zhao, H., Lu, Z., Liu, C., & Wang, H. (13 de 08 de 2016). Model and Simulation of the Mitsubishi
RV-M1 Robot using MATLAB. Recuperado el 15 de 08 de 2017, de
http://gb.oversea.cnki.net/KCMS/detail/detailall.aspx?filename=ieee201608002120
&dbcode=IPFD&dbname=IPFDTEMP

69

También podría gustarte