desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

25
Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido DESPLAZAMIENTO DE PIEZAS POR MEDIO DE DOS BRAZOS ROBÓTICOS MITSUBISHI MOVEMASTER RV-M1 DE FORMA COOPERATIVA DISPLACEMENT OF PARTS USING TWO ROBOTIC ARMS WITH COOPERATIVE WORK UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS BOGOTÁ 2013 Jeyson A. Ordoñez B. * Katherine Ortegón L. ** Willson Infante M. *** Resumen: Se implementó una aplicación para los brazos robóticos RV-M1 (Movemaster RV- M1 de Mitsubishi®) del laboratorio de robótica y CNC, realizando un software de control para el movimiento y organización estratégica de piezas, demostrando la cooperación entre los dos brazos. A partir de esto se brindan herramientas a la comunidad académica de La Universidad Distrital Francisco José de Caldas Facultad Tecnológica para el desarrollo de nuevos usos en cuanto a la robótica cooperativa. Fue necesario implementar un algoritmo basado en detección de colisiones, implementado directamente en robots articulados RV-M1. A su vez la implementación de un doble puerto serie configurado desde el lenguaje de programación JAVA en Netbeans. Palabras clave: Brazo robot, robótica cooperativa, Automatización, Control de robots, Sistemas de comunicación, Puerto de serie. Abstract: We implemented an application for robot arms RV-M1 (Movemaster Mitsubishi RV- M1 ®) robotics lab and CNC control software made for movement and strategic organization of parts, demonstrating cooperation between the two arms. From these tools are provided to the academic community of the University Francisco José de Caldas Faculty of Technology to develop new uses in terms of cooperative robotics. * Tecnólogo en Electrónica. [email protected] ** Tecnóloga en Electrónica. [email protected] *** Ingeniero en Control Electrónico. Profesor de Tecnología Electrónica e Ing. En Control, Universidad Distrital Facultad Tecnológica. [email protected]

Upload: jason-ordonez

Post on 11-Jul-2015

878 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

DESPLAZAMIENTO DE PIEZAS POR MEDIO DE DOS BRAZOS ROBÓTICOS MITSUBISHI

MOVEMASTER RV-M1 DE FORMA COOPERATIVA

DISPLACEMENT OF PARTS USING TWO ROBOTIC ARMS WITH COOPERATIVE WORK

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS – BOGOTÁ 2013

Jeyson A. Ordoñez B.* Katherine Ortegón L.** Willson Infante M.***

Resumen: Se implementó una aplicación para los brazos robóticos RV-M1 (Movemaster RV-

M1 de Mitsubishi®) del laboratorio de robótica y CNC, realizando un software de control para

el movimiento y organización estratégica de piezas, demostrando la cooperación entre los

dos brazos. A partir de esto se brindan herramientas a la comunidad académica de La

Universidad Distrital Francisco José de Caldas Facultad Tecnológica para el desarrollo de

nuevos usos en cuanto a la robótica cooperativa. Fue necesario implementar un algoritmo

basado en detección de colisiones, implementado directamente en robots articulados RV-M1.

A su vez la implementación de un doble puerto serie configurado desde el lenguaje de

programación JAVA en Netbeans.

Palabras clave: Brazo robot, robótica cooperativa, Automatización, Control de robots,

Sistemas de comunicación, Puerto de serie.

Abstract: We implemented an application for robot arms RV-M1 (Movemaster Mitsubishi RV-

M1 ®) robotics lab and CNC control software made for movement and strategic organization

of parts, demonstrating cooperation between the two arms. From these tools are provided to

the academic community of the University Francisco José de Caldas Faculty of Technology to

develop new uses in terms of cooperative robotics.

* Tecnólogo en Electrónica. [email protected]

** Tecnóloga en Electrónica. [email protected] *** Ingeniero en Control Electrónico. Profesor de Tecnología Electrónica e Ing. En Control, Universidad Distrital Facultad

Tecnológica. [email protected]

Page 2: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Key Words: Robot programming, Portable computers, Robot Automation, Robot Control,

Communication systems, Serial port. It was necessary to implement an algorithm based on

collision detection, implemented directly articulated robots RV-M1. In turn, the implementation

of a dual serial port configured in the Java programming language in Netbeans.

INTRODUCCIÓN

La robótica se considera colectiva cuando dos o más robots se encuentran desarrollando una

tarea conjunta. El mayor problema de esta simple definición es el cómo organizar cada robot

y asignarle la función para completar la tarea global. En un sistema centralizado existe un

líder o Maestro que se encarga de limitar las funciones de los otros robots que trabajen para

realizar la misma tarea, de esta manera el Maestro será capaz de trabajar libremente y

asignar procesos al resto del equipo. A partir de esta consideración se implementó en el

proyecto un algoritmo para que los robots RV-M1 trabajaran de forma centralizada, donde

uno es el MASTER y otro el SLAVE.

La actuación coordinada de diferentes robots, en un área de trabajo específica, permite llevar

a cabo tareas no realizables en entornos monorobot, además esto incrementa la eficiencia en

la realización de otros tareas que se pueda realizar con un solo robot. Por otra parte la

coordinación genera un aumento significativo de la complejidad de programación,

planificación y control de todos los elementos que componen el área ya que se es necesario

establecer puntos fijos de ubicación de piezas a trabajar por los dos robots articulados1.

El trabajo cooperativo entre robots puede incrementar la taza de desarrollo y terminación de

tareas, que por su dificultad o por sus características son más complicadas de realizar por

un único robot. A partir de esto se ubicaron las bases de los problemas fundamentales que

se presentan en la realización de tareas por parte de dos brazos robóticos.

1 Jimenez. Detección de colisiones mediante recubrimientos simplificados. 2006.

Page 3: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

La robótica se considera colectiva cuando dos o más robots se encuentran desarrollando una

tarea conjunta. El mayor problema de esta simple definición es el cómo organizar cada robot

y asignarle la función para completar la tarea global, a partir del estudio de tal ciencia se

estableció un sistema de control centralizado que se caracteriza por una unidad central o

maestro el cual se encarga de limitar las funciones de la aplicación, este a su vez es capaz

de trabajar libremente y asignar procesos al otro brazo robótico. Este sistema centralizado

está limitado debido al líder, en términos de recepción, tratamiento y envió de información.

De los siguientes proyectos se obtuvo valiosa información para el desarrollo de este

proyecto:

En el proyecto HERRAMIENTA PARA LA PROGRAMACIÓN Y SIMULACIÓN DE

MOVIMIENTOS DEL MANIPULADOR ROBÓTICO MITSUBISHI MOVEMASTER RV-M12

desarrollado en la Pontificia Universidad Javeriana de Cali – Facultad de ingeniería. Su

objetivo general fue desarrollar una herramienta que permita a los usuarios del manipulador

robótico Mitsubishi Movemaster RV-M1 interactuar con él, de forma simulada o en tiempo

real, para aprender a utilizar el robot y facilitar su programación, con el fin de ejecutar tareas

en entornos académicos e industriales. Según las pruebas realizadas se puede obtener

como resultado una reducción considerable en el tiempo, para crear trayectorias complejas,

de utilización del robot y número de errores. Se ha verificado la precisión de la simulación.

En el área de la robótica cooperativa o de trabajo cooperativo con robots articulados de han

realizado diferentes trabajaos como el proyecto CONTROL DEL EMPUJE DE UNA BARRA

2 Venturello. Pontificia Universidad Javeriana de Cali – Facultad de Ingeniería. 2006

Page 4: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

USANDO DOS ROBOTS MÓVILES Y VISIÓN ARTIFICIAL3, el cual consistía en empujar

una barra usando dos robots móviles y una cámara de visión artificial como sensor global,

cuyas aplicaciones directas el transporte y manejo cooperativo de grandes objetos. La

solución propuesta involucra a dos robots móviles cuya posición, orientación y velocidad son

obtenidas a través de una cámara ubicada en la parte superior de la escena.

En la universidad Distrital – Facultad Tecnológica también se ha trabajado constantemente

para el desarrollo de aplicaciones con software de simulación tal como el presentado en el

proyecto DISEÑO E IMPLEMENTACIÓN DE SIMULADOR DEL ROBOT MITSUBISHI RV-

M1 PARA EL LABORATORIO DE ROBÓTICA Y CNC4, donde se realizó un software que

permitía al estudiante simular los movimientos del robot Mitsubishi rv-m1 junto con su

espacio de trabajo sobre una mesa de 60cm x 150cm y donde se visualice la posición y

orientación del extremo final y los ángulos de cada articulación del robot. Con esta

herramienta se hace propia la tecnología abierta Open Source, y esto permite el desarrollo

de nuevas tecnologías basado en el conocimiento claro del hardware y el software sin

limitarse a plataformas propietarias.

2. METODOLOGÍA

Para el desplazamiento de piezas por medio de dos brazos robóticos Mitsubishi Movemaster

RV-M1 de forma cooperativa, se desarrolló la implementación y ejecución de:

Primero: Identificación y construcción del área de trabajo para la aplicación, se idealizo un

material que fuese flexible pero muy resistente, para ello se encontró el material llamado

MDF (Tablero de fibra de densidad media), el cual fue amoldado para ubicar los brazos

robóticos Mitsubishi MOVEMASTER RV-M1 de manera precisa, gracias a esto se marcó la

posición respectiva de las fichas para la ubicación en el espacio controlado.

3 Bacca & Caicedo. Universidad Distrital FJC. Revista científica y tecnológica de la facultad de ingeniería. , pp. 70-79,

Octubre, 2007.

4 Quintero & Lopez. Universidad Distrital FJC. Facultad Tecnológica. 2011

Page 5: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Segundo: diseño de la estructura a construir con los dos brazos robóticos Mitsubishi

MOVEMASTER RV-M1, se determinó realizar una estructura tipo castillo donde cada pieza

va a ir encarrillada como un muro confinado, se verá el trabajo cooperativo y a su vez el nivel

de dificultad para armar la estructura, esto se realizó en conjunto con el diseño de las fichas

o piezas que el brazo robótico debe manipular, para ello se tuvo en cuenta el alcance de

cada brazo robótico, tanto al extenderse como al contraerse y elevarse, adicionalmente la

capacidad de la pinza fue un aspecto fundamental a la hora del diseño de las piezas, a partir

de esto se determinó que la mejor medida para el grosor de las piezas sería de 3cm,

teniendo en cuenta también el diseño de la estructura. Fueron implementadas cuatro piezas

de distinto diseño.

Tercero: identificación de posiciones y establecimiento de bus de campo a partir de las tareas

realizadas con anterioridad, el siguiente paso era identificar las posiciones exactas de cada

brazo Mitsubishi MOVEMASTER RV-M1 para la construcción de la estructura y del algoritmo

navegación basado en detección de colisiones. Se tuvo en cuenta el área de trabajo del

brazo y la ubicación más accesible de las fichas. En conjunto con la identificación de

posiciones se estableció el respectivo bus de campo, al observar los distintos recursos

disponibles en el laboratorio de Robótica y CNC de la Universidad Distrital Francisco José De

Caldas Facultad Tecnológica, se eligió un bus de campo con ventajas tanto en costo como

en manejo, este se encuentra compuesto de un equipo de cómputo como servidor central el

cual cuenta con dos puertos seriales que serán utilizados para la conexión de los respectivos

brazos robóticos RV-M1.

Cuarto: Aunque la técnica detección de colisiones es más utilizada en el desarrollo de

gráficos interactivos (video juegos, aplicaciones de realidad virtual, etc.) se puede extraer

bastantes recursos para evitar las inconsistencias en el software en cuanto a la interacción

entre los dos brazos robóticos RV-M1, a partir del estudio de esta técnica y realizando las

respectivas pruebas entre los mismos, se construyó un algoritmo de navegación basado en

detección de colisiones ubicando los aspectos más favorables para la aplicación.

Page 6: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Quinto: bajo el estudio de los parámetros mencionados con anterioridad se realizó el diseño

de la respectiva interfaz gráfica y se eligió el lenguaje de programación más adecuado para

el desarrollo de la aplicación, se estableció la totalidad del código en Java – Netbeans

gracias a las herramientas y programas diseñados con anticipación.

2.1. CARACTERISTICAS GENERALES

2.1.1. Brazo M.RV-M1

El Brazo robótico M.RV-M1 (Figura 2.1) es un dispositivo diseñado para el transporte de

objetos con características particulares (forma, tamaño, etc.), gracias a sus características se

convirtió en el mecanismo principal en el desarrollo de este proyecto.

Figura 2.1. Robot articulado Mitsubishi RV-M1 (Manual del Brazo Robótico M.RV-M1)

El manipulador robot Mitsubishi RV-M1 cuenta con cinco grados de libertad (DOF). Su

capacidad de carga es de 1.2 Kg sin incluir el peso del efector final adaptado a él. El sistema

que permite operar el robot, se encuentra constituido por:

Brazo articulado.

Teaching box (Control manual).

Controlador, cables de conexión.

Page 7: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

El brazo cuenta con cinco articulaciones, (Figura 2.2):

J1: Cintura. Articulación limitada entre -150 y 150 grados.

J2: Hombro. Articulación limitada entre -30 y 100 grados.

J3: Codo. Articulación limitada entre 0 y 110 grados.

J4: Pitch. Articulación limitada entre -90 y 90 grados.

J5: Roll. Articulación limitada entre -180 y 180 grados.

Figura 2.2. Articulaciones del brazo Robótico Mitsubishi RV-M1 (Manipulador robot Mitsubishi - Manual Básico, Universidad Javeriana)

Para poder implementar un área de trabajo compartida se debe estudiar dos características

físicas importantes del brazo robótico, sus dimensiones (Figura 2.3) y el área de trabajo

(Figura 2.4).

Figura 2.3. Dimensiones del Brazo Robótico Mitsubishi RV-M1

Page 8: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

(Manipulador robot Mitsubishi - Manual Básico, Universidad Javeriana, 2001)

Figura 2.4. Volumen de trabajo del Brazo Robótico Mitsubishi RV-M1 (Manipulador robot Mitsubishi - Manual Básico, Universidad Javeriana, 2001)

El controlador principal (Figura 2.5) es el que permite la interconexión entre el brazo, el

Teaching Box y el ordenador que contiene el software para su programación de movimientos.

Figura 2.5. Parte posterior y frontal del controlador principal del Brazo M.RV-M1 (Manipulador robot Mitsubishi - Manual Básico, Universidad Javeriana, 2001)

Page 9: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Por último el Teaching Box es el dispositivo que permite controlar manualmente el robot.

Cuenta con un teclado con las principales funciones. En la Figura 2.6 se puede ver el

esquema físico del Teaching box y en la Tabla 1 los comando que puede enviar al robot.

Figura 2.6. Teaching Box del brazo RV-M1. (Manipulador robot Mitsubishi - Manual Básico, Universidad Javeriana, 2001)

Tabla 2.1. Funciones del Teaching Box. (Manipulador robot Mitsubishi - Manual Básico, Universidad Javeriana, 2001)

El brazo robótico M.RV-M1 se le puede enviar dos tipos de información para que desplace a

cierto punto: la primera forma es dándole las coordenadas exactas del lugar al que tiene que

llegar, sería algo de esta manera enviado por puerto serie:

Page 10: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

MP+132.1,-25.8,+100.2,-85,0

Este comando MP (Move Position) no garantiza que si el usuario pone coordenadas

aleatoriamente el robot pueda llegar hasta esas coordenadas. Si no está dentro de los

parámetros establecidos el brazo quedará en error5.

La segunda manera es guardando las coordenadas de una posición ya ubicada con el

Teaching Box, el comando para guardar es el siguiente:

PD1, +132.1,-25.8,+100.2,-85,0

Con el comando PD (Position Define) se guarda esa serie de coordenadas en el número que

siguiente a este comando el usuario coloque, solo se pueden guardar hasta el número 699

que serían el total de coordenadas.

Si el robot se encuentra en otras coordenadas, como ya existe una posición previamente

almacenada el usuario al enviar el simple comando MO1 hará que el robot se dirija a las

coordenadas en este ejemplo +132.1,-25.8,+100.2,-85,0. Si existen más posiciones

guardadas previamente, con enviar los comandos MO1, MO2 etc., el brazo se dirigirá a las

diferentes coordenadas.

2.2. Bus de campo

El envió y recepción de la información se realiza utilizando el Protocolo RS232 como bus de

campo particular el cual tiene gran acceso en el laboratorio de robótica y CNC de la facultad

tecnológica de la Universidad Distrital Francisco José de Caldas.

2.2.1. Protocolo RS232

Ante la gran variedad de equipos, sistemas y protocolos que existen surgió la necesidad de

un acuerdo que permitiera a los equipos de varios fabricantes comunicarse entre sí. La EIA

(Electronics Industry Association) elaboró la norma RS-232, la cual define el estándar de los

5 Estado que se genera cuando no se envían parámetros correctos al robot, o no se sincroniza adecuadamente con

Timers. Si el brazo se encuentra en este estado no se moverá y se tendrá que resetear para poder seguir trabajando con él.

Page 11: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

componentes mecánicos, los pines, las señales y los protocolos que debe cumplir la

comunicación serial.6

Todas las normas RS-232 cumplen con los siguientes niveles de voltaje:

Un “1” lógico es un voltaje comprendido entre –5v y –15v en el transmisor y entre -3v y

–25v en el receptor.

Un “0” lógico es un voltaje comprendido entre +5v y +15v en el trasmisor y entre +3v y

+25 v en el receptor.

2.3. Detección de colisiones7

La implementación de algoritmos para la detección de colisiones puede ser muy útil en

aplicaciones en donde es necesario el reconocimiento de la posición de los objetos que

interactúan para un mismo proceso, para esto es necesario tener en cuenta aspectos como

el tiempo, el espacio, la forma del objeto, etc.

A partir del estudio de los objetos implicados en el proceso, se debe tener en cuenta que el

movimiento de los brazos robóticos será de manera simultánea. Sin embargo plasmar este

tipo de situaciones en el entorno programable puede ser bastante costoso pues se tendría

que calcular el momento exacto en el que se producirá la siguiente colisión.

Con el fin de encontrar alternativas para resolver este problema se realizó un estudio para

encontrar la metodología más adecuada para el proceso, la cual consiste en establecer un

incremento de tiempo entre comprobaciones lo suficientemente pequeño para que unos

objetos no pasen a través de otros sin que se detecte la colisión y, en caso de producirse,

permitir volver al paso anterior para determinar detalladamente el punto de contacto

exclusivamente entre los brazo.

6 Ing. Eric López, Tutorial del protocolo RS-232. 7 D. Juan Jiménez. Detección de colisiones mediante recubrimientos simpliciales.

Page 12: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

2.3.1. Movimiento continuo de objetos

Con el análisis anterior se encontró un problema derivado que consiste en que los brazos

adicional al movimiento simultaneo presentan un movimiento de manera continua, en el

entorno programable se plantea el movimiento de los objetos en intervalos de tiempo finitos

o discretos (delta de t). De igual forma el hecho de conocer la posición exacta, el área de

trabajo, el tamaño y la velocidad del brazo son factores de gran ayuda ya que suprime la

cantidad de variables que entran en el proceso de análisis en el software.

El desarrollo de este método consiste en establecer un volumen de barrido en el intervalo de

tiempo considerado, de manera que en primer lugar se compruebe la colisión entre los

volúmenes generados por los brazos. Si se produce interacción entre dichos volúmenes,

puede que se presente colisión o no entre los brazos, pero si no se produce interferencia

sabremos que no ocurrirá entre los objetos. Afortunadamente el movimiento de los brazos se

puede considerar lineal, seguido de una rotación en posiciones estacionarias, con lo que los

volúmenes a estudiar suelen ser más sencillos.

2.3.2. Implementación del algoritmo

Teniendo en cuenta que el objetivo principal es el desplazamiento de piezas por medio de

dos brazo robóticos MOVEMASTER RV-M1 donde se demuestre trabajo cooperativo en un

espacio controlado, se platean los variables conocidas para el desarrollo de este:

Área de trabajo limitada para establecer el espacio controlado.

Procesos que van a desarrollar los brazos para demostrar el trabajo cooperativo.

Bajo el espacio controlado y el proceso a realizar existen posiciones determinadas de

los brazos robóticos MOVEMASTER RV-M1.

Especificaciones técnicas de los brazos robóticos MOVEMASTER RV-M1.

A partir de estas variables fue construido el algoritmo de navegación basado en la detección

de colisiones teniendo en cuenta las características de la técnica descomposición del

espacio. Para poder descomponer el espacio fue necesario establecer y predeterminar el

área de trabajo que compartirán los dos brazos M.RV-M1 Figura 2.7.

Page 13: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Figura 2.7. Área de trabajo compartida por los dos brazos M.RV-M1.

2.3.2.1. Descomposición del espacio:

En general puede utilizarse para determinar en qué zona del espacio se encuentra un objeto

o parte del mismo, y realizar un test de colisión entre objetos (o partes) solo si ocupan la

misma zona del espacio. Bajo el estudio de los factores implicados en esta técnica y la

aplicación a desarrollar se determinó la utilización de la Rejilla de Voxeles8. Una rejilla es una

partición del espacio en celdas rectangulares y uniformes, es decir, todas las celdas tiene el

mismo tamaño. Cada objeto se asocia con las celdas en las que se encuentra. Para que dos

objetos colisionen deben ocupar una misma celda. Solo debe comprobarse la colisión entre

objetos que ocupen la misma celda.

Normalmente el tamaño de celda de una rejilla se ajusta para que acomode el objeto de

mayor tamaño rotado en un ángulo arbitrario. Para la aplicación el tamaño de la celda es de

8 D. Juan Jiménez. Detección de colisiones mediante recubrimientos simpliciales. Página 30.

Page 14: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

4x4 cm, de esta forma se reduce el esfuerzo necesario para insertar o actualizar los objetos

en la rejilla, así como el número de test de colisión a realizar.

Al tener toda el área de trabajo dividida en partes iguales de 4 centímetros cuadrados, 140

cuadros en área compartida, y aproximadamente 32 cuadros en área de alta posibilidad de

colisión ya que es el área que ocupa la estructura que será armada. Se puede establecer

mediante la longitud paralela al área que ocupa cada brazo, el área en la que los dos brazos

van a interactuar con probabilidad de colisión Figura 2.8.

Una de las figuras que armarán los dos robots será la estructura “Castillo” Figura 2.9.

Al tener ya el área de posible choque y el mayor alcance de cada brazo se puede establecer

un tamaño para las piezas que los brazos manipularán Figura 2.10, y así poder asignar

desde el programa el trabajo conjunto que tendrán que realizar.

Figura 2.8. Rejilla de Voxeles implementada en el área de trabajo compartida por los dos robots RV-M1 con área de probabilidad de colisión.

Page 15: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Figura 2.9. Plano de la estructura “Castillo”

Figura 2.10. Piezas que manipularán los brazos M.RV-M1

3. DESARROLLO DEL PROGRAMA

3.1 Protocolo de comunicación en el software:

El puerto serial se caracteriza por enviar y recibir bytes de información de a un bit a la vez

esto hace esta comunicación más lenta en comparación a la comunicación en paralela que

permite la transmisión de un byte completo por vez, a pesar de esta debilidad la

comunicación serial es más sencilla y puede alcanzar mayor distancia de comunicación.

En Java se puede encontrar una librería específica para el manejo de comunicaciones a

través de puerto como el serial y paralelo (la librería comm), además de un api de

comunicación serial el cual debe ser instalado. Este código se caracteriza por establecer

distintas clases para facilitar los procesos realizados, de igual forma existen factores

Page 16: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

importantes a tener en cuenta en el desarrollo de estas clases tales como la configuración de

la velocidad de transmisión y recepción, el número de bits que recibirá, la paridad y las

variables que retornan cada clase para posteriormente ser modificadas a necesidad del

programador.

Las Características generales de envío y recepción de datos que se utilizaron fueron:

Vel. de transmisión: 9600 baudios

Bit de datos: 8

Bit de parada: 1

Bit de paridad: Ninguno

3.1.1. Envió de datos

Los ordenadores de la sala de Robótica y CNC cuentan con dos puertos serial, gracias a

esto se pudo implementar el algoritmo de comunicación que evita tener dos programas

abiertos para poder controlar cada brazo por separado.

Para poder establecer una comunicación con los dos brazos robóticos M.RV-M1 desde un

único programa y así poder controlar la posición simultánea de cada brazo, evitar cualquier

tipo de colisión y controlar los datos que le llegarán a cada brazo fue necesario desde el

lenguaje de programación utilizado en este caso NetBeans9 v.7.0 realizar la debida

configuración para poder enviar y recibir datos por dos puertos serial RS-232. La

configuración más sencilla implementada para poder enviar datos por los dos puertos desde

NetBeans fue duplicar las clases del WriterPort10, ReaderPort11, CronusPort12 y

ActionEvenPort, para poder de esta manera desde la clase principal dar el nombre del puerto

COM a la clase CronusPort.

Al poder configurar los dos puertos serial, se hace el respectivo envió de datos que serán

controlados desde el programa, se enviarán datos como: Reset para cada brazo, posición de

9 Entorno de desarrollo integrado libre, hecho principalmente para el lenguaje de programación JAVA. 10 Clase para escribir en el puerto.

11 Clase para leer el puerto. 12 Clase para reconocer el puerto por el que se enviarán y recibirán los datos.

Page 17: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

origen mecánico, posición de origen del proceso, posiciones para los procesos, inicio, pausa

y paro de los procesos.

3.2. Implementación del algoritmo de colisión

El algoritmo de colisión implementado para este proceso, es un algoritmo diseñado de la

manera más eficiente de forma que cumpla con el propósito de su implementación debido a

que este proyecto carece de sensores y solo se cuenta con un espacio controlado.

Teniendo ya la rejilla de Voxeles ubicada en el área de trabajo compartido, fue necesario

determinar las posiciones de posible choque y llamarlas de la misma manera dentro

programa, es decir que si para el Brazo 1 la posición (ejemplo MO10) está ubicada dentro del

cuadro F-7, para este cuadro al Brazo 2 le corresponde el mismo nombre de posición

(MO10).

El programa está diseñado de forma que los brazos robóticos M.RV-M1 trabajen de forma

centralizada ya que habrá un brazo denominado MASTER y el otro denominado SLAVE,

Figura 3.1; el brazo MASTER podrá operar libremente dentro del espacio de posible colisión,

el programa determina en qué posición se encuentran los dos brazos, hace una comparación

de posicionamiento simultaneo de cada brazo y enviará las posiciones al brazo SLAVE que

operara de manera restringida.

Figura 3.1. Brazo Master (izquierda) y Slave (derecha).

Page 18: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

En caso de que los dos brazos se dirijan hacia la misma posición, el brazo MASTER irá

primero, el programa hará el salto para que el brazo SLAVE no se pueda mover hasta que el

brazo MASTER no se mueva de la posición (MO10). Por tanto es necesario aclarar que los

robots no actuarán dentro del campo cadenas cinemáticas cerradas, la cual se establece

cuando varios robots sujetan conjuntamente un mismo objeto.13

Cuando los brazos están moviendo las piezas para su organización hay que tener en cuenta

las características de la Tabla 3.

Organización de los objetos

No conocen el estado de los demás agentes Cooperación Pasiva No son Agentes Inteligentes

Tabla 3.1. Características del modelo de organización de los objetos.

3.3. Pruebas de velocidad de los Brazos Robóticos:

Los tiempos mostrados a continuación, son los tiempos necesarios para mover los brazos

robóticos una distancia de 50 centímetros horizontales o verticales, Tabla 4.

Velocidad predeterminada de los brazos

Prueba 1

Prueba 2

Prueba 3

Prueba 4

Prueba 5

Promedio

SP514 4.9 s 5.1 s 5.1 s 4.8 s 4.9 s 4.96 s

SP6 3.4 s 3.6 s 3.5 s 3.4 s 3.6 s 3.50 s

SP7 2.5 s 2.4 s 2.8 s 2.4 s 2.6 s 2.54 s

SP8 2.0 s 1.8 s 2.2 s 1.9 s 2.1 s 2.00 s Tabla 3.2. Pruebas para determinar velocidades promedio.

Velocidades en cm/s:

SP5 = 10.08 SP6 = 14.28 SP7 = 19.68 SP8 = 25

Se tomaron únicamente las velocidades preestablecidas por el brazo desde el nivel 5 hasta

el nivel 8, los niveles debajo de 4 son velocidades muy bajas para este proceso, y el nivel 9

no se utiliza por recomendación del laboratorista para no exigir al máximo los robots. Según

13 Planificación de movimientos y control de fuerza en entornos multirobot.

14 SP: es el comando que utiliza el robot para establecer la velocidad entre un nivel 1 a 9.

Page 19: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

estos resultados y las pruebas realizadas con la sincronización de los relojes (o Timers) se

decidió establecer la velocidad SP8 como predeterminada. Es de importancia decir que si no

están sincronizado los relojes, como el programa está enviando constantemente información

por cada puerto, el robot recibirá el comando desde que no esté en movimiento, si al robot le

llega algún dato mientras está en movimiento, no realizará la acción que se le indique y

cuando le llegue el siguiente dato probablemente caerá en un error y no se moverá más, por

lo cual se tendría que parar el proceso y reiniciar la pista y los robots a las posiciones de

origen mecánico. Esta es la mayor razón por la cual se la velocidad SP8 es la que mejor se

acopla al desempeño del programa, para no generar ningún error en los robots.

Page 20: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

3.4. Interfaz gráfica

Para el diseño de la interfaz gráfica de usuario se tuvo en cuenta especificaciones del brazo

robótico M.RV-M1 tales como: posición inicial mecánica del brazo, envió y recepción de

datos, carga de posiciones, Reset del brazo. Por otro lado es importante tener en cuenta la

facilidad de orientación a la hora de utilizar la aplicación es por eso que se implementó un

diseño sencillo. A partir de esto se estableció un botón particular para realizar cada proceso

establecido como lo es la construcción de la estructura “Castillo” Figura 3.2, con su

determinada ilustración además de detalles adicionales pertinentes proceso de la aplicación

como son la opción de pausa y paro en caso de presentarse algún fallo en cuanto a los

movimientos de los brazos.

Figura 3.2. Ventana para iniciar construcción del castillo.

El usuario podrá escoger dos opciones principales para la manipulación de las piezas, las

cuales serán: 1.Construcción del Castillo, 2.Organización de carga (Posición de origen

mecánico del brazo M.RV-M1.)

3.5 Desarrollo del programa

Inicio del programa: El programa arranca y permite al usuario poner los brazos en posición

de origen mecánico, enviar un RESET a los brazos, o si no es necesario ninguna de las

anteriores iniciar el programa.

Configuración de los puertos: Desde el programa se crearon llamados de diferentes clases

para poder configurar más de un puerto serial en un solo programa. Inician los Timers.

Page 21: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Envió de datos: Al iniciar los relojes el programa escribe en los dos puertos diferente

información que será enviada a cada uno de los brazos, esta información son las

coordenadas de cada posición que será necesaria para mover los brazos y organizar las

piezas.

Construcción de la estructura: Cuando el usuario por medio de la interfaz gráfica hace clic

en iniciar se empieza a enviar posiciones determinadas a cada brazo simultáneamente.

Algoritmo de colisión: Por medio de dos vectores se guardó la información de los

movimientos o secuencia que tienen que realizar los brazos. El algoritmo tiene la capacidad

de comparar por medio de un barrido de la string almacenada en cada vector, la posición del

robot Slave con la posición actual del robot Master, si esta es igual el robot Slave no se podrá

mover y hará un salto de movimiento hasta que el robot Master se haya movido de esa

posición.

Fin del proceso: Al terminar de armar la estructura el programa terminará y no se podrá

realizar ningún otro proceso hasta que se resetee, ya que si las fichas no están

correctamente ordenadas los robots no podrán armar las estructuras.

3.6. Diagrama de Bloques

A continuación en la Figura 3.3, se muestra un diagrama de bloques el cual describe paso a

paso el proceso que realiza el programa.

Inicio de los brazos robóticos a la posición de origen del proceso: El programa al iniciar

permite al usuario seleccionar si desea enviar RESET o NST15, a los dos brazos robóticos. El

siguiente paso que el usuario debe realizar es seleccionar la opción posicionar brazos, la

cual enviará los brazos a una posición determinada para los dos brazos que será el origen

para el proceso.

Carga de posiciones: La siguiente ventana tendrá un botón con el cual el usuario cargará

todas las posiciones en los brazos robóticos para poder desarrollar un proceso exitoso.

Menú principal: En esta ventana el usuario podrá escoger cuál de los dos procesos desea

realizar (1: armar castillo, 2: Simulación de proceso de carga).

15 Posición de origen mecánico del brazo M.RV-M1.

Page 22: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Figura 3.3. Diagrama de bloques del proceso

Armado de la estructura: El programa enviará los comandos a los brazos robóticos de

manera que armen la estructura que el usuario escogió de manera que los brazos no

colisionen en ninguna oportunidad.

Parar (STOP), Play y Pausa (PAUSE): Al iniciar el armado estará activa una ventana que le

permitirá al usuario pausar el proceso, continuar el proceso o definitivamente parar el

proceso.

Fin del proceso: Es ocurrirá cuando la estructura esté totalmente armada o cuando el

usuario seleccione la opción “Parar”.

3.7 Diagrama de flujo del algoritmo basado en detección de colisiones

A continuación se muestra el diagrama de flujo del algoritmo (Figura 3.4) que se ejecutó en el

programa para detectar posibles colisiones entre los robots, está basado en el principio de

robótica colectiva y malla de Voxeles.

Play/Pausa

Fin del

proceso

Armado de la

estructura.

Menú principal:

Selección del proceso a

realizar por parte del usuario.

Carga de posiciones

para los dos brazos.

Inicio de los brazos

robóticos a la posición origen del

proceso.

Paro

Page 23: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

Figura 3.4. Diagrama de flujo base para el diseño del algoritmo

4. PRUEBAS Y RESULTADOS

Gracias a la pruebas realizadas con un solo brazo para el armado de estructura de

simulación de carga a una velocidad SP8 se calculó un tiempo promedio aproximado

de 3,5 minutos para finalizar el proceso, por el contrario al implementar los dos brazos

se requirió únicamente de 1,25 minutos, con esto se evidencia beneficio a nivel de

rendimiento que esta aplicación ofrece.

Debido a la ausencia de sensores específicos dentro de la composición física de la

aplicación y gracias a las respectivas pruebas realizadas, se determinó la necesidad

de establecer un tipo de programación organizada y respectivamente estructurada.

Figura 4.1

En el desarrollo de la aplicación fue de gran relevancia la ubicación de cada uno de

los elementos en lugares estratégicos, lo cual da como resultado la necesidad de

Page 24: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

implementación no de una sino de distintas técnicas para análisis del espacio en este

tipo de aplicaciones (descomposición del espacio, rejillas de Voxeles, etc).

El diseño de la estructura y las piezas a utilizar respectivamente son acorde a las

especificaciones técnicas de los brazos robóticos MITSUBISHI MOVEMASTER RV-

M1 descritas en el cuerpo del documento.

La ampliación del área de trabajo W_SPACE es considerablemente mayor ya que no

solo va a actuar un solo robot RV-M1 sino dos y dependiendo de su ubicación los

robots pueden mover objetos desde distancias mayores.

6. CONCLUSIONES

Ya que esta aplicación no utiliza ningún tipo de sensores es necesario establecer

puntos de ubicación fija de cada ficha ya que esto permite la respectiva delimitación

tanto en área de trabajo como en código programable

A partir de la implementación de algoritmos de detección de colisiones se quiere

establecer un esquema de programación más organizado evitando así inconsistencias

en el software en cuanto a la interacción entre los dos brazos robóticos MITSUBISHI

MOVEMASTER RV-M1

Se debe tener en cuenta que para la conmutación de los puertos se debe establecer

un tiempo base para evitar el bloqueo de la unidad central de procesamiento del

brazo

Es muy importante para este tipo de aplicaciones tener un equilibrio en cuanto a

cantidad de movimientos asignados al dispositivo, gracias a que se plantea un Slave

dependiendo de los movimientos de un Master (control centralizado).

La mejor área de trabajo para los brazos en conjunto se encuentra delimitada

25x19(cm) basada en la construcción de una estructura de dimensiones

25x15x19(cm).

Esta aplicación es una herramienta de gran ayuda para los docentes de ingeniería y

tecnología que trabajen en el área de robótica, programación y redes ya que involucra

todos estos temas, aparte de ser de gran apoyo en el grupo de investigación ROMA

Page 25: Desplazamiento de piezas por medio de dos brazos roboticos mitsubishi movemaster rv m1

Artículos revista VISIÓN ELECTRÓNICA: algo más que un estado sólido

para continuar con un proceso de implementación de sensores y desarrollo del

algoritmo de detección de colisiones.

Referencias

[1] A. Quintero, C. Florez. “Diseño e implementación de simulador del robot Mitsubishi RV-M1 para el laboratorio de Robótica y CNC”. Bogotá, Universidad Distrital Francisco José de Caldas - Facultad Tecnológica, 2011.

[2] E. Beltrán, “Desarrollo de algoritmos para la coordinación de un sistema de multirobot cooperativo para tareas de búsqueda de fuentes de calor en entornos dinámicos”, Bogotá: Universidad Distrital Francisco José de Caldas, 2011.

[3] E. Bacca, & E. Caicedo, “Control de empuje de una barra usando dos robots móviles y visión artificial”, Bogotá:

Revista científica y tecnológica de la facultad de ingeniería Universidad Distrital Francisco José de Caldas, pp. 70-

79, Octubre, 2007.

[4] A. Carrasco, “Detección y diagnóstico de fallas en robots móviles cooperativos”, Santiago de Chile, Pontificia Universidad Católica de Chile, 2004.

[5] J. Ceballos, “JAVA 2: Interfaces gráficas y aplicaciones para internet”, Madrid, Escuela Politécnica de Alcalá, 2008.

[6] J. Ceballos, “JAVA 2: Curso de programación”, Madrid, Escuela Politécnica Superior Universidad de Alcalá, 2010.

[7] R. Costa, & L. Basañez, “Planificación de movimientos y control de fuerza en entornos MULTIROBOT”, Barcelon, Universidad de Cataluña, 2004.

[8] B. Delgado, “Manual básico manipulador robot Mitsubishi RV-M1”, Cali: Pontificia Universidad Javeriana, 2001.

[9] C. Díaz, “Manipulación cooperativa robot-robot y humano-robot. Aplicación a sistemas flexibles de desensamblado automático”, San Vicente del Raspeig, Universidad de Alicante, 2007.

[10] B. Howard, & T. Erlemeier, “Interface Desing For Offline Robot Programming Whit The Use Of Virtual Simulation”, 2006.

[11] J. Jiménez, “Tesis Doctoral: Detección de colisiones mediante recubrimientos simplificados”, Granada, Universidad de Granada, 2006.

[12] E. Merchán, “Metodología para generación de trayectorias de manipuladores robóticos, su cinemática y dinámica”, Ciudad de México: Instituto Politécnico Nacional, 2000.

[13] MITSUBISHI. (s.f.). ROBOT INDUSTRIAL MITSUBISHI Modelo RV-M1, Manual de operación, Tokio.

[14] M. Modesti, “Sistemas de comunicación por bus de campo”, Buenos Aire, Universidad Tecnológica Nacional, 2003.

[15] M. Pan, M. Liandong, M. Xinhan, M. Huang, & M. Arif, “A PC-Based Open Architecture Controller For Robots (OACR)”, 2005.

[16] J. Venturello, “Herramienta para la programación y simulación de movimientos del manipulador robótico Mitsubishi Movemaster RV-M1”, Cali, Pontificia Universidad Javeriana, 2006.

[17] M. Dorigo, D. Floreano, L. M. Gambardella, F. Mondada, S. Nolfi, T. Baaboura, M. Birattari, M. Bonani, M. Brambilla, & A. Brutschy, “Swarmanoid: un concepto novedoso para el estudio de enjambres robóticos heterogéneos”, Tech. Rep, 2011.

[18] G. A. Di Caro, F. Ducatelle, and L. M. Gambardella, “Las comunicaciones inalámbricas para la navegación distribuida en enjambres de robots”, Sexto Taller Europeo sobre la aplicación de la Naturaleza inspirados en técnicas para las redes de telecomunicaciones y otros sistemas conectados, 2009.

[19] F. Ducatelle, A. Förster, G. A. Di Caro, and L. M. Gambardella, “Navegación de reparto en sistemas multi-robot a través de la comunicación retardo de red tolerante”, Taller de la IFAC sobre Red Robótica, NetRob, 2010.